惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
Visual Studio Blog
Microsoft Azure Blog
Microsoft Azure Blog
WordPress大学
WordPress大学
小众软件
小众软件
Last Week in AI
Last Week in AI
月光博客
月光博客
博客园 - 聂微东
Recent Announcements
Recent Announcements
A
About on SuperTechFans
博客园 - 三生石上(FineUI控件)
V
V2EX
阮一峰的网络日志
阮一峰的网络日志
博客园 - Franky
云风的 BLOG
云风的 BLOG
量子位
N
Netflix TechBlog - Medium
Hugging Face - Blog
Hugging Face - Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
J
Java Code Geeks
博客园 - 司徒正美
S
SegmentFault 最新的问题
有赞技术团队
有赞技术团队
Google DeepMind News
Google DeepMind News
宝玉的分享
宝玉的分享

博客园 - 飛魚V

Asp.net(C#)给图片加上水印效果(转自园上的Seven Eleven) - 飛魚V - 博客园 小集正则表达式 - 飛魚V - 博客园 用ASP.NET向Javascript传递变量 - 飛魚V - 博客园 写给刚刚上岗的网站技术人员(转贴) 在Updatepanel中使用JAVASCRIPT的问题 ASP.NET正则表达式集合 人才是培养的吗? (转) 赢在中国 - 史玉柱经典语录 全国哀悼日 网站灰黑色CSS滤镜代码[转帖] DataView 使用技巧 几行代码实现上传 .Net写的分页类 (菜菜灰) 网站任意语言切换 统计字符传中某个字符出现的个数 获取CPU编号和获取网卡mac地址 使用FileUpload控件上传图片并自动生成缩略图、带文字和图片的水印图 如何才能使表格不会被撑破? 几个必须知道的排序(C#) C#判断一个日期是一个月里面的第几个星期
DropDownList实现无限级分类
飛魚V · 2008-05-11 · via 博客园 - 飛魚V

要想实现无限级分类,那得还用传统的老方法----递归,也许有很多人会抱怨递归的性能不是太理想。俗话说的话,能抓到老鼠的猫就是好猫。我提倡先解决问题,然后再优化性能。

数据库结构:

代码:

protected void GetCategories(DropDownList DropDownList, string id)
    {
        DataView MyDataView 
= new Caicai.DBHelper().ExecuteDataSet("select id,c_name,c_path from c_categories where c_parentid=" + id +" order by c_sort").Tables["Table"].DefaultView;
        
foreach (DataRowView MyDataRowView in MyDataView)
        {
            AddTo 
= new String(' ', (MyDataRowView[2].ToString().Split('|').Length - 1* 2+ "└ ";
            DropDownList.Items.Add(
new ListItem(AddTo + MyDataRowView[1].ToString(), MyDataRowView[0].ToString()));
            
this.GetCategories(DropDownList,MyDataRowView[0].ToString());
        }
    }

调用:

 protected void Page_Load(object sender, EventArgs e)
    {
        
if (!IsPostBack)
        {
            
this.GetCategories(DropDownList1,"0");
        }
    }