您的位置:首页 > 编程语言 > ASP

asp.net DropDownList 三级联动下拉菜单实现代码

2009-12-05 00:00 906 查看
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")); 
//二级分类列表 

} 
/// <summary> 
/// 绑定二级分类 
/// </summary> 
/// <param name="sender"></param> 
/// <param name="e"></param> 
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")); 
} 
} 
/// <summary> 
/// 绑定三级分类 
/// </summary> 
/// <param name="sender"></param> 
/// <param name="e"></param> 
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页:
/// <summary> 
/// 查询一级栏目 
/// </summary> 
/// <returns></returns> 
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(); 
} 
} 
/// <summary> 
/// 查询二级栏目内容 
/// </summary> 
/// <param name="ccode"></param> 
/// <returns></returns> 
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(); 
} 
} 
/// <summary> 
/// 查询三级栏目内容 
/// </summary> 
/// <param name="cde"></param> 
/// <returns></returns> 
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"
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: