手机
当前位置:查字典教程网 >编程开发 >asp.net教程 >Asp.net 无限级分类实例代码
Asp.net 无限级分类实例代码
摘要:在网上找了很久也没有找到例子,没办法了,想偷懒也偷不成了,还是自己老老实实的写一个吧。不多废话,下面请看我做的详细方法。1。无限级分类肯定要...

在网上找了很久也没有找到例子,没办法了,想偷懒也偷不成了,还是自己老老实实的写一个吧。不多废话,下面请看我做的详细方法。

1。无限级分类肯定要数据库支持啦,用户可以动态添加他们的分类嘛,下面是数据库的结构:

Asp.net 无限级分类实例代码1

数据库主要有三个字段,这是最基本的了。第一个是主键,第二个是分类的名称了,第三个是父级目录id号。

2。成品的效果图:(大家最关心的是不是这个啊?看看是什么样子再看程序怎么吧)

Asp.net 无限级分类实例代码2

看!!就长这个模样啦,这个层次关系就是上面那个数据所显示的结果。怎么样?还行吧。。。

3。最后就是提供程序咯,程序其实就是一个递归算法。

复制代码 代码如下:

privatevoidGetArticleCategory(stringpid)

{

SqlConnectionconn=newSqlConnection("server=.;database=test;uid=sa;pwd=;");

stringsql="selectArticlesgroup_id,GroupnamefromArticlesgroupwhereArticlesgroup_parent_id=@pidorderbyGroupname";

SqlCommandcmd=newSqlCommand(sql,conn);

SqlParameterPid=newSqlParameter("@pid",SqlDbType.Int);

Pid.Value=pid;

cmd.Parameters.Add(Pid);

conn.Open();

SqlDataReadersdr=cmd.ExecuteReader();

while(sdr.Read())

{

this.DropDownList1.Items.Add(newListItem(toadd+""+sdr[1].ToString(),sdr[0].ToString()));

toadd+="─┴";

this.GetArticleCategory(sdr[0].ToString());

toadd=toadd.Substring(0,toadd.Length-2);//开始这里没有处理好,层次关系显示不出来:)

}

sdr.Close();

conn.Close();

}

调用方法:在Page_Load里调用

复制代码 代码如下:

protectedvoidPage_Load(objectsender,EventArgse)

{

this.keyword.Attributes.Add("onfocus","if(this.value=='keykeykey'){this.value=''};");

if(!Page.IsPostBack)

{

this.GetArticleCategory("0");

}

this.DropDownList1.Items.Insert(0,newListItem("SearchAll","all"));

}

在类里边还要定义一个变量

复制代码 代码如下:

privatestringtoadd="├";

【Asp.net 无限级分类实例代码】相关文章:

asp.net错误页面处理示例分享

asp.net下文件上传和文件删除的代码

asp.net中利用Jquery+Ajax+Json实现无刷新分页的实例代码

EasyUI Tree+Asp.net实现权限树或目录树导航的简单实例

ASP.NET存取XML实例代码与注解

ASP.net 验证码实现代码(C#)

asp.net下定制日期输出格式的代码

ASP.Net 分页控件源码

Asp.Net URL重写的具体实现

asp.net(C#) 生成随机验证码的代码

精品推荐
分类导航