您的位置:首页 > 其它

省市县三级联动(第三种的方法)

2013-03-14 19:10 274 查看


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();
}
}
}

程序运行结果如图所示:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: