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

推荐订阅源

罗磊的独立博客
Martin Fowler
Martin Fowler
J
Java Code Geeks
The GitHub Blog
The GitHub Blog
C
Check Point Blog
H
Help Net Security
Google DeepMind News
Google DeepMind News
人人都是产品经理
人人都是产品经理
博客园 - 聂微东
P
Proofpoint News Feed
V
Visual Studio Blog
Stack Overflow Blog
Stack Overflow Blog
雷峰网
雷峰网
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Vercel News
Vercel News
S
SegmentFault 最新的问题
L
LangChain Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
The Cloudflare Blog
Hugging Face - Blog
Hugging Face - Blog
有赞技术团队
有赞技术团队
博客园_首页
小众软件
小众软件
aimingoo的专栏
aimingoo的专栏

博客园 - 飛魚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");
        }
    }