三级联动的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;
}
<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;
}
相关文章推荐
- ASP.NET中使用DropDownList实现无刷新二级联动详细过程
- JavaScript实现DropDownList(Select)三级联动无刷新
- 写了一个用AJAX(ASP.NET2.0)实现的DropDownList三级联动
- DropDownList控件实现三级联动
- yii2 利用dropDownList组件实现三级联动
- asp.net DropDownList 三级联动下拉菜单实现代码
- 用DropDownList实现的省市级三级联动
- 用代码实现控件DropDownList的三级联动
- Yii2使用dropdownlist实现地区三级联动功能的方法
- asp.net DropDownList无刷新ajax二级联动实现详细过程
- asp.net实现DropDownList、ListBox无刷新三级联动的两种方法
- 用DropDownList实现Ajax无刷新省市三级联动中出现的错误
- 用DropDownList控件绑定XML数据实现省市区三级联动
- 对asp.net实现DropDownList、ListBox无刷新三级联动(javascript)修改
- asp.net DropDownList无刷新ajax二级联动实现详细过程
- yii2中dropDownList实现二级和三级联动写法
- asp.net DropDownList无刷新ajax二级联动实现详细过程
- asp.net DropDownList 三级联动下拉菜单实现代码
- AJAX无刷新实现三级联动并获取DropDownList的值的方法