
建立一个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>
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#region GetData
private DataTable GetData()
{
DataTable dt;
dt = new DataTable();
dt.Columns.Add("id");
dt.Columns.Add("parentid");
dt.Columns.Add("name");
DataRow dr;
dr = dt.NewRow();
dr["id"] = "1";
dr["parentid"] = "0";
dr["name"] = "a";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["id"] = "2";
dr["parentid"] = "1";
dr["name"] = "b";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["id"] = "3";
dr["parentid"] = "1";
dr["name"] = "c";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["id"] = "4";
dr["parentid"] = "2";
dr["name"] = "d";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["id"] = "5";
dr["parentid"] = "2";
dr["name"] = "e";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["id"] = "6";
dr["parentid"] = "3";
dr["name"] = "f";
dt.Rows.Add(dr);
return dt;
}
#endregion

Web Form Designer generated code#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
InitializeComponent();
base.OnInit(e);
}

/**//**//**//// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
}
本文介绍了一个使用 ASP.NET 创建 DropDownList 控件的例子,展示了如何通过后台代码填充 DropDownList 的选项,并基于 DataTable 数据进行绑定。此示例适用于初学者理解 DropDownList 的基本用法。
761

被折叠的 条评论
为什么被折叠?



