首先在程序的前台添加好三个DropDownList,分别为省市县,然后在省市的
SelectedIndexChanged的事件中填写代码,具体代码如下:
namespace 省市县三级联动
{
public partial class WebPCA : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
Province();
}
}
private DataTable LoadData(string id)
{
string constr = ConfigurationManager.ConnectionStrings["ConStr"].ConnectionString;
SqlConnection conn = new SqlConnection(constr);
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText = "SELECT A_Id,A_Name FROM T_Arear WHERE A_ParentId=@pid ORDER BY A_Id";
cmd.Parameters.AddWithValue("@pid", id);
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
adapter.Fill(dt);
cmd.Dispose();
conn.Dispose();
return dt;
}
private void Province()
{
DataTable dt = LoadData("0");
this.ddlProvince.DataSource = dt;
//提供文本内容数据源字段
this.ddlProvince.DataTextField = "A_Name";
//提供值的数据源的字段
this.ddlProvince.DataValueField = "A_Id";
//将数据源绑定到下拉列表当中
this.ddlProvince.DataBind();
ListItem item = new ListItem("-------请选择-------","0");
//设置为默认
this.ddlProvince.Items.Insert(0, item);
}
城市选择部分///
protected void ddlProvince_SelectedIndexChanged(object sender, EventArgs e)
{
string id = this.ddlProvince.SelectedItem.Value;
if (id != "0")
{
DataTable dt = LoadData(id);
this.ddlCity.DataSource = dt;
//指定下拉列表要显示的字段的值
this.ddlCity.DataTextField = "A_Name";
//指定下拉列表的value属性要绑定的字段的值
this.ddlCity.DataValueField = "A_Id";
this.ddlCity.DataBind();
//绑定默认显示的市下面的区县
string selectid = this.ddlCity.SelectedItem.Value;
DataTable dt1 = LoadData(selectid);
this.ddlArea.DataSource = dt1;
//指定下拉列表要显示的字段的值
this.ddlArea.DataTextField = "A_Name";
//指定下拉列表的value属性要绑定的字段的值
this.ddlArea.DataValueField = "A_Id";
this.ddlArea.DataBind();
}
else
{
ddlCity.Items.Clear();
ddlArea.Items.Clear();
}
//Response.Write(id);
}
///县(区)选择部分、//
protected void ddlCity_SelectedIndexChanged(object sender, EventArgs e)
{
string idd= ddlCity.SelectedItem.Value;
DataTable dt = LoadData(idd);
this.ddlArea.DataSource = dt;
this.ddlArea.DataTextField = "A_Name";
this.ddlArea.DataValueField = "A_Id";
this.ddlArea.DataBind();
}
}
}
![](https://img-my.csdn.net/uploads/201303/14/1363258692_8082.png)