----------前台界面-----------
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="三级联动.aspx.cs" Inherits="省市县三级联动.三级联动" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<table>
<tr><td>地址</td><td>
<asp:DropDownList ID="ddlprovince" runat="server" AutoPostBack="True"
Height="16px" onselectedindexchanged="ddlprovince_SelectedIndexChanged"
Width="98px">
</asp:DropDownList>省
<asp:DropDownList ID="ddlcity" runat="server" AutoPostBack="True" Height="16px"
onselectedindexchanged="ddlcity_SelectedIndexChanged" Width="98px">
</asp:DropDownList>市
<asp:DropDownList ID="ddlarear" runat="server" Height="16px" Width="98px">
</asp:DropDownList>县
</td></tr>
<tr><td></td><td></td></tr>
</table>
</div>
</form>
</body>
</html>
---------后台代码---------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
namespace 省市县三级联动
{
public partial class 三级联动 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
LoadDate();
}
}
private void LoadDate()
{
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.ddlarear.Items.Count > 0)
{
this.ddlarear.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 baraer = new BLL.area();
DataTable dtarea = baraer.GetList("father='" + cityid + "'").Tables[0];
ddlarear.DataSource = dtarea;
ddlarear.DataTextField = "areaname";
ddlarear.DataValueField = "areaID";
ddlarear.DataBind();
}
protected void ddlcity_SelectedIndexChanged(object sender, EventArgs e)
{
BLL.area baraer = new BLL.area();
string cityid = this.ddlcity.SelectedItem.Value;
DataTable dt = baraer.GetList("father='" + cityid + "'").Tables[0];
ddlarear.DataSource = dt;
ddlarear.DataTextField = "areaname";
ddlarear.DataValueField = "areaID";
ddlarear.DataBind();
}
}
}
效果如下: