asp.net DropDownList 三级联动下拉菜单

本文介绍了一个使用 ASP.NET 实现的分类选择功能,包括一级、二级和三级分类的下拉框联动效果。通过数据库查询填充下拉框,并在用户选择不同级别的分类时动态更新子级分类选项。
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;
           }

转载于:https://www.cnblogs.com/juan/archive/2009/04/11/1433698.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值