前台:
<body>
<form id="form1" runat="server">
<div>
<table><tr><td>账号</td><td>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox></td></tr>
<tr><td>密码</td><td>
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox></td></tr>
<tr><td>邮箱</td><td>
<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox></td></tr>
<tr><td>地址</td><td></td>
<asp:DropDownList ID="ddlprovince" runat="server" AutoPostBack="True"
onselectedindexchanged="ddlprovince_SelectedIndexChanged">
</asp:DropDownList>
<asp:DropDownList ID="ddlcity" runat="server" AutoPostBack="True"
onselectedindexchanged="ddlcity_SelectedIndexChanged">
</asp:DropDownList>
<asp:DropDownList ID="ddlarea" runat="server">
</asp:DropDownList>
</tr>
</table>
</div>
</form>
</body>
后台:
namespace 三级联动三层
{
public partial class 三级联动 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
province();
}
}
private void province()
{
BLL.province bpro = new BLL.province();
DataTable dt=bpro.GetList("").Tables[0];
ddlprovince.DataSource = dt;
ddlprovince.DataTextField = "provincename";
ddlprovince.DataValueField = "provinceID";
ddlprovince.DataBind();
}
protected void ddlprovince_SelectedIndexChanged(object sender, EventArgs e)
{
if (this.ddlarea.Items.Count>0)
{
this.ddlarea.Items.Clear();
}
BLL.city bcity = new BLL.city();
string proid = this.ddlprovince.SelectedItem.Value;
DataTable dt = bcity.GetList("father='" + proid + "'").Tables[0];
ddlcity.DataSource = dt;
ddlcity.DataTextField = "cityname";
ddlcity.DataValueField = "cityID";
ddlcity.DataBind();
//绑定默认显示的市级区划下面所有的县
string cityid = dt.Rows[0]["cityID"].ToString();
BLL.area barea = new BLL.area();
DataTable dt1 = barea.GetList("father='" + cityid + "'").Tables[0];
ddlarea.DataSource = dt1;
ddlarea.DataTextField = "areaname";
ddlarea.DataValueField = "areaID";
ddlarea.DataBind();
}
protected void ddlcity_SelectedIndexChanged(object sender, EventArgs e)
{
BLL.area barea = new BLL.area();
string cityid = this.ddlcity.SelectedItem.Value;
DataTable dt = barea.GetList("father='" + cityid + "'").Tables[0];
ddlarea.DataSource = dt;
ddlarea.DataTextField = "areaname";
ddlarea.DataValueField = "areaID";
ddlarea.DataBind();
}
}
}
BLL层 province city area
public DataSet GetList(string strWhere)
{
return dal.GetList(strWhere);
}
DAL层 province
public DataSet GetList(string strWhere)
{
StringBuilder strSql=new StringBuilder();
strSql.Append("select id,provinceID,provincename ");
strSql.Append(" FROM province ");
if(strWhere.Trim()!="")
{
strSql.Append(" where "+strWhere);
}
return DbHelperSQL.Query(strSql.ToString());
}
DAL层 city
public DataSet GetList(string strWhere)
{
StringBuilder strSql=new StringBuilder();
strSql.Append("select id,cityID,cityname,father ");
strSql.Append(" FROM city ");
if(strWhere.Trim()!="")
{
strSql.Append(" where "+strWhere);
}
return DbHelperSQL.Query(strSql.ToString());
}
DAL层 area
public DataSet GetList(string strWhere)
{
StringBuilder strSql=new StringBuilder();
strSql.Append("select id,areaID,areaname,father ");
strSql.Append(" FROM area ");
if(strWhere.Trim()!="")
{
strSql.Append(" where "+strWhere);
}
return DbHelperSQL.Query(strSql.ToString());
}