• 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"));

                //二级分类列表

                      
            }

     

     /// <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"

  • 相关阅读:
    大数据之路week06--day07(Linux中的mysql的离线安装)
    大数据之路week06--day07(Hadoop生态圈的介绍)
    大数据之路week06--day07(Hadoop常用命令)
    大数据之路week06--day07(完全分布式Hadoop的搭建)
    大数据之路week06--day07(虚拟机的克隆)
    大数据之路week06--day03(jdk8新特性 Lambda表达式)
    解决CentOS虚拟机开机黑屏卡死问题
    poj 1562 Oil Deposits (广搜,简单)
    poj 3278 Catch That Cow (广搜,简单)
    hdu 1195 Open the Lock(广搜,简单)
  • 原文地址:https://www.cnblogs.com/juan/p/1433698.html
Copyright © 2020-2023  润新知