• Webform 三级联动例子


    首先分别做三个下拉列表

    <body>
        <form id="form1" runat="server">
            <asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True"></asp:DropDownList>
            <asp:DropDownList ID="DropDownList2" runat="server" AutoPostBack="True"></asp:DropDownList>
            <asp:DropDownList ID="DropDownList3" runat="server"></asp:DropDownList>
    </form>
    </body>

    建类:China实体类

    public China()
        {
            
        }
        private string code;
    
        public string Code
        {
            get { return code; }
            set { code = value; }
        }
        private string name;
    
        public string Name
        {
            get { return name; }
            set { name = value; }
        }
        private string prentcode;
    
        public string Prentcode
        {
            get { return prentcode; }
            set { prentcode = value; }
        }

    数据访问类:

    public class ChinaData
    {
        SqlConnection conn = null;
        SqlCommand cmd = null;
        public ChinaData()
        {
            conn = new SqlConnection("server=.;database=mydb;user=sa;pwd=123");
            cmd = conn.CreateCommand();
        }
        public List<China> Select(string pcode)
        {
            cmd.CommandText = "select * from ChinaStates where ParentAreaCode=@pcode";
            cmd.Parameters.Clear();
            cmd.Parameters.AddWithValue("@pcode", pcode);
    
            conn.Open();
    
            SqlDataReader dr = cmd.ExecuteReader();
    
            List<China> list = new List<China>();
    
            if (dr.HasRows)
            {
                while (dr.Read())
                {
                    China data = new China();
                    data.Code = dr[0].ToString();
                    data.Name = dr[1].ToString();
                    data.Prentcode = dr[2].ToString();
    
                    list.Add(data);

                }

    
    

            }

    
    

            conn.Close();

    
    

            return list;

    }

    
    

    }

     

    .cs后台代码

    首先数据绑定:

    if (!IsPostBack)
            {
      //调用方法绑定数据         
    Bind(DropDownList1,new ChinaStatesData().Select("0001"));
    
    Bind(DropDownList2, new ChinaStatesData().Select(DropDownList1.SelectedValue));
    
    Bind(DropDownList3, new ChinaStatesData().Select(DropDownList2.SelectedValue));
            }
    //委托
            DropDownList1.SelectedIndexChanged += DropDownList1_SelectedIndexChanged;
            DropDownList2.SelectedIndexChanged += DropDownList2_SelectedIndexChanged;
    //造方法:
    private void Bind(DropDownList ddl, List<ChinaStates> list)
        {
            ddl.DataSource = list;
            ddl.DataTextField = "AreaName";
            ddl.DataValueField = "AreaCode";
            ddl.DataBind();
        }
    //SelectedIndexChanged事件
     void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
        {
            Bind(DropDownList2, new ChinaStatesData().Select(DropDownList1.SelectedValue));//填充市
            Bind(DropDownList3, new ChinaStatesData().Select(DropDownList2.SelectedValue));//填充区
        }
    void DropDownList2_SelectedIndexChanged(object sender, EventArgs e)
        {
            Bind(DropDownList3, new ChinaStatesData().Select(DropDownList2.SelectedValue));//填充区
        }

    代码部分完成后,将下拉列表的AutoPostBack属性改为true

  • 相关阅读:
    沐风心扬C#编程速查系列之C#窗体渐显渐隐效果
    【原创】Linux学习笔记
    沐风心扬C#编程速查系列之快捷键的使用
    SQL_TABLE_VALUED_FUNCTION Angkor:
    Sql2008 System VIEW Angkor:
    关于[使用 WCF 测试客户端 (WcfTestClient.exe)] Angkor:
    Pivot PK Case Angkor:
    SQL_SCALAR_FUNCTION Angkor:
    Sql2008 SQL_STORED_PROCEDURE Angkor:
    EXTENDED_STORED_PROCEDURE Angkor:
  • 原文地址:https://www.cnblogs.com/dreamer666/p/5897515.html
Copyright © 2020-2023  润新知