您的位置:首页 > 运维架构

三级联动的DropDownList实现过程

2013-11-24 15:38 363 查看
前台页面代码:

<div>

       <table>

                <tr>

                     <td>地址:</td>

                    <td>

                        <asp:DropDownList ID="dropProvince" runat="server" AutoPostBack="True" 

                            onselectedindexchanged="dropProvince_SelectedIndexChanged">

                        </asp:DropDownList>省

                    </td>

                     

                    <td>

                        <asp:DropDownList ID="dropCity" runat="server" AutoPostBack="True" 

                            onselectedindexchanged="dropCity_SelectedIndexChanged">

                        </asp:DropDownList>市

                    </td>

                    <td>

                        <asp:DropDownList ID="dropArea" runat="server">

                        </asp:DropDownList>县

                    </td>

                   

                </tr>

       </table>

后台代码:

        protected void Page_Load(object sender, EventArgs e)

        {

            if (!IsPostBack)

            {

                BLL.province bll_Province = new BLL.province();

                List<Model.province> list = bll_Province.GetListModel();

                dropProvince.DataSource = list;

                dropProvince.DataTextField = "provinceName";

                dropProvince.DataValueField = "provinceID";

                dropProvince.DataBind();

                BLL.city bll_City = new BLL.city();

                List<Model.city> listCity = bll_City.GetListCity("father='" + list[0].provinceID+ "'");

                dropCity.DataSource = listCity;

                dropCity.DataTextField = "cityName";

                dropCity.DataValueField = "cityID";

                dropCity.DataBind();

                BLL.area bll_Area = new BLL.area();

                List<Model.area> listArea = bll_Area.GetlistArea("father='" + listCity[0].cityID + "'");

                dropArea.DataSource = listArea;

                dropArea.DataTextField = "areaName";

                dropArea.DataValueField = "areaID";

                dropArea.DataBind();

            }

        }

        protected void dropProvince_SelectedIndexChanged(object sender, EventArgs e)

        {

            dropCity.Items.Clear();

            dropArea.Items.Clear();

            BLL.city bll_City = new BLL.city();

            List<Model.city> list = bll_City.GetListCity("father='" +dropProvince.SelectedValue+ "'");

            dropCity.DataSource = list;

            dropCity.DataTextField = "cityName";

            dropCity.DataValueField = "cityID";

            dropCity.DataBind();

        }

        protected void dropCity_SelectedIndexChanged(object sender, EventArgs e)

        {

            dropArea.Items.Clear();

            BLL.area bll_Area = new BLL.area();

            List<Model.area> list = bll_Area.GetlistArea("father='" + dropCity.SelectedValue + "'");

            dropArea.DataSource = list;

            dropArea.DataTextField = "areaName";

            dropArea.DataValueField = "areaID";

            dropArea.DataBind();

        }

三层的方法

BLL

 public List<Model.province> GetListModel()

        {

            return dal.GetListModel();

        }

Dal

  public System.Collections.Generic.List<Model.province> GetListModel()

        {

            System.Collections.Generic.List<Model.province> list = new System.Collections.Generic.List<Model.province>();

            DataTable dt = GetList("").Tables[0];

            foreach (DataRow row in dt.Rows)

            {

                Model.province mpro = new Model.province();

                mpro.id = Convert.ToInt32(row["Id"]);

                mpro.provinceID = row["provinceID"].ToString();

                mpro.provinceName = row["provinceName"].ToString();

                list.Add(mpro);

            }

            return list;

        }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息