前台
<div>
<table><tr><td>
省<asp:DropDownList ID="ddlProvince" runat="server" AutoPostBack="True"
onselectedindexchanged="ddlProvince_SelectedIndexChanged">
</asp:DropDownList>
</td><td>
市<asp:DropDownList ID="ddlCity" runat="server" AutoPostBack="True"
onselectedindexchanged="ddlCity_SelectedIndexChanged">
</asp:DropDownList>
</td><td>
县<asp:DropDownList ID="ddlArear" runat="server">
</asp:DropDownList>
</td></tr></table>
</div>
后台
namespace 三级联动
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
GetProvince();
}
}
private DataTable LoadData(string id)
{
string strcon = @"Data Source=PC-20130114VKEC;Initial Catalog=News;Persist Security Info=True;User ID=sa;Password=529185";
SqlConnection conn = new SqlConnection(strcon);
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText = "SELECT A_Id,A_Name FROM T_Arear WHERE A_ParentId=@parentid ORDER BY A_Id";
cmd.Parameters.AddWithValue("@parentid",id);
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
adapter.Fill(dt);
cmd.Dispose();
conn.Dispose();
return dt;
}
private void GetProvince()
{
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);
}
private int Sum(int x, int y)
{
int num = x + y;
return num;
}
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.ddlArear.DataSource = dt1;
//指定下拉列表要显示的字段的值
this.ddlArear.DataTextField = "A_Name";
//指定下拉列表的value属性要绑定的字段的值
this.ddlArear.DataValueField = "A_Id";
this.ddlArear.DataBind();
}
else
{
ddlCity.Items.Clear();
ddlArear.Items.Clear();
}
}
protected void ddlCity_SelectedIndexChanged(object sender, EventArgs e)
{
string id = this.ddlCity.SelectedItem.Value;
DataTable dt = LoadData(id);
this.ddlArear.DataSource = dt;
//指定下拉列表要显示的字段的值
this.ddlArear.DataTextField = "A_Name";
//指定下拉列表的value属性要绑定的字段的值
this.ddlArear.DataValueField = "A_Id";
this.ddlArear.DataBind();
}
}
}