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

  首先在程序的前台添加好三个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();
        }
    }
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值