·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> 网站建设开发 >> ASP.NET网站开发 >> 地区的三级联动

地区的三级联动

作者:佚名      ASP.NET网站开发编辑:admin      更新时间:2022-07-23

地区的三级联动

首先在aspx界面中拖入三个DropDownList控件,分别右键属性前两个控件,把 AutoPostBack 改为 True ,Items点击添加在txt中输入请选择,并把Value的值改为0,再点击事件按钮把前两个控件添加SelectedIndexChanged事件。

数据库的设计,列名有 id(自增长) ParentId Name,如图

进入cs界面,在Page_Load中写如下代码

PRotected void Page_Load(object sender, EventArgs e)    {        if (!IsPostBack)        {            getProdata();//省(直辖市)            getcitydata();//市            getquxiandata();//县        }    }

然后在前两个DropDownList控件下写SelectedIndexChanged事件,代码如下

 protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)    {        getcitydata();//市        getquxiandata();//县    }    protected void DropDownList2_SelectedIndexChanged(object sender, EventArgs e)    {            getquxiandata();//县    }

再写 getProdata();//省(直辖市) getcitydata();//市 getquxiandata();//县 方法的代码

 public void getProdata()//省、直辖市    {        var query = dc.dt.Where(p => p.ParentId == 0);        if (query.Count() !=0)        {            DropDownList1.DataSource = query;//绑定数据之前先清除之前数据            DropDownList1.DataTextField = "Name";            DropDownList1.DataValueField = "id";            DropDownList1.DataBind();        }        else        {            DropDownList1.Text = "无数据";        }    }    public void getcitydata()//市    {        string name1 = DropDownList1.SelectedValue;//获取选中值的ID        var query = dc.dt.Where(p => p.ParentId == int.Parse(name1));        if (query.Count() != 0)        {            DropDownList2.DataSource = query;            DropDownList2.DataTextField = "Name";            DropDownList2.DataValueField = "id";            DropDownList2.DataBind();        }        else        {            DropDownList2.SelectedIndex  = 0;        }    }    public void getquxiandata()//县    {        string name2 = DropDownList2.SelectedValue;//获取选中值的ID                    var query = dc.dt.Where(p => p.ParentId == int.Parse(name2));            if (query.Count() != 0)            {                DropDownList3.DataSource = query;                DropDownList3.DataTextField = "Name";                DropDownList3.DataValueField = "id";                DropDownList3.DataBind();            }            else            {                DropDownList3.SelectedIndex = 0;            }    }

完成