省市縣 三級聯動

前臺

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章