用递归在Dropdownlist中显示树状结构

本文介绍了一个使用 ASP.NET 创建 DropDownList 控件的例子,展示了如何通过后台代码填充 DropDownList 的选项,并基于 DataTable 数据进行绑定。此示例适用于初学者理解 DropDownList 的基本用法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


建立一个aspx页面,copy如下代码
html代码
<HTML>
    
<HEAD>
        
<title>WebForm9</title>
    
</HEAD>
    
<body>
        
<form id="Form1" method="post" runat="server">
            
<asp:DropDownList id="Dropdownlist3" runat="server" Width="352px"></asp:DropDownList></form>
    
</body>
</HTML>
cs代码
public class WebForm3 : System.Web.UI.Page
    
{
        
protected System.Web.UI.WebControls.DropDownList Dropdownlist3;
        
private void Page_Load(object sender, System.EventArgs e)
        
{
            DataTable dt 
= GetData();        
            BindData(dt,
0);
        }

        
        
private void BindData(DataTable dt,int id)
        
{
            DataView dv 
= new DataView(dt);
            dv.RowFilter 
= "parentid = " + id.ToString();
            
int m=0;
            
foreach(DataRowView drv in dv)
            
{
                m
++;
                
string blank="";
                
if(id!=0)
                
{
                    
for(int i=0;i<m;i++)
                    
{
                        blank
+="空格";
                    }

                }

                ListItem li
=new ListItem();
                li.Text
=blank+drv["id"].ToString()+drv["name"].ToString();
                li.Value
=drv["id"].ToString();
                
this.Dropdownlist3.Items.Add(li);
                BindData(dt,Convert.ToInt32(drv[
"id"]));
            }
  
        }

        

        
GetData

        
Web Form Designer generated code  
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值