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://www.cnblogs.com/qzc900809/archive/2013/03/14/2960202.html
相关资源:js实现省市地区三级联动并获取省市县的值