前台:
<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;
}