asp.net DropDownList 三级联动下拉菜单实现代码 复制代码 代码如下: if (!IsPostBack) { //一级分类列表 this.DropDownList1.DataSource = dsbb.SelectSubjct1(); this.DropDownList1.DataTextField = "cName"; this.DropDownList1.DataValueField = "Ccode"; this.DropDownList1.DataBind(); this.DropDownList1.Items.Insert(0,new ListItem("请选择一级分类","0")); this.DropDownList8.Items.Insert(0, new ListItem("请选择二级分类", "0")); this.DropDownList9.Items.Insert(0,new ListItem ("请选择三级分类","0")); //二级分类列表 } /// /// 绑定二级分类 /// /// /// protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) { libs.Database.Dbbase dbb = new libs.Database.Dbbase(); if (Convert.ToInt32(this.DropDownList1.SelectedValue) == 0) //清除列表内容 { this.DropDownList8.Items.Clear(); this.DropDownList8.Items.Insert(0, new ListItem("请选择二级分类", "0")); this.DropDownList9.Items.Clear(); this.DropDownList9.Items.Insert(0, new ListItem("请选择三级分类", "0")); } else //二级分类列表 { this.DropDownList8.DataSource = dbb.Selectsubjct2(this.DropDownList1.SelectedValue.Substring(0,2)); this.DropDownList8.DataTextField = "cName"; this.DropDownList8.DataValueField = "Ccode"; this.DropDownList8.DataBind(); this.DropDownList8.Items.Insert(0,new ListItem ("请选择二级分类","0")); this.DropDownList9.Items.Clear();//清除第三分类 this.DropDownList9.Items.Insert(0, new ListItem("请选择三级分类", "0")); } } /// /// 绑定三级分类 /// /// /// protected void DropDownList8_SelectedIndexChanged(object sender, EventArgs e) { libs.Database.Dbbase dbase = new libs.Database.Dbbase(); this.DropDownList9.DataSource = dbase.selectsubject3(this.DropDownList8.SelectedValue.Substring(0,4)); this.DropDownList9.DataTextField = "cName"; this.DropDownList9.DataValueField = "Ccode"; this.DropDownList9.DataBind(); this.DropDownList9.Items.Insert(0,new ListItem("请选择三级分类","0")); } Dbbase.cs页: 复制代码 代码如下: /// /// 查询一级栏目 /// /// public DataSet SelectSubjct1() { string con = System.Configuration.ConfigurationSettings.AppSettings["sqlconn"]; SqlConnection conn = new SqlConnection(con); string sqlstr = "SELECT kndid, Ccode, cName, cLevel FROM kind WHERE cLevel = 1"; DataSet dst = new DataSet(); SqlDataAdapter sda = new SqlDataAdapter(sqlstr,conn); try { sda.Fill(dst); return dst; } catch (Exception ex) { throw new Exception(ex.Message); } finally { conn.Close(); } } /// /// 查询二级栏目内容 /// /// /// public DataSet Selectsubjct2(string ccode) { string conn1 = System.Configuration.ConfigurationSettings.AppSettings["sqlconn"]; SqlConnection conn = new SqlConnection(conn1); string sqqq = "select kndid,Ccode,cName,cLevel from kind where cLevel = 2 and Ccode like '" + ccode + "%'"; DataSet dss = new DataSet(); SqlDataAdapter sdd = new SqlDataAdapter(sqqq,conn); try { sdd.Fill(dss); return dss; } catch (Exception ex) { throw new Exception(ex.Message); } finally { conn.Close(); } } /// /// 查询三级栏目内容 /// /// /// public DataSet selectsubject3(string cde) { string conn2 = System.Configuration.ConfigurationSettings.AppSettings["sqlconn"]; SqlConnection conn = new SqlConnection(conn2); string sqq = "select kndid,Ccode,cName,cLevel from kind where cLevel = 3 and Ccode like '" + cde + "%'"; DataSet dst = new DataSet(); SqlDataAdapter sdaa = new SqlDataAdapter(sqq,conn); try { sdaa.Fill(dst); return dst; } catch (Exception ex) { throw new Exception(ex.Message); } finally { conn.Close(); } } 注意:DropDownList1_SelectedIndexChanged 事件,AutoPostBack="True"