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