建立一个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#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 }