數據綁定版省市選擇器

aspx:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="省市級聯數據綁定.aspx.cs" Inherits="簡單綁定.省市級聯數據綁定" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True"
            onselectedindexchanged="DropDownList1_SelectedIndexChanged">
        </asp:DropDownList>
        <asp:DropDownList ID="DropDownList2" runat="server">
        </asp:DropDownList>
    </div>
    </form>
</body>
</html>

 

aspx.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using 數據導入導出練習;
using System.Data.SqlClient;

namespace 簡單綁定
{
    public partial class 省市級聯數據綁定 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                SqlDataReader reader = sqlhelper.datareader("select * from p");
                if (reader.HasRows)
                {
                    DropDownList1.DataSource = reader;//讀取表中的省份
                    DropDownList1.DataTextField = "p";//將表中的省份名稱綁定到控件的字段名上
                    DropDownList1.DataValueField = "id";//將表中的id綁定到控件的value上
                    DropDownList1.DataBind();//進行數據綁定
                    DropDownList1.SelectedIndex = 0;//默認選擇項爲第一項
                    //以下是初始化城市列表用的
                    string value = DropDownList1.SelectedValue;
                    SqlDataReader reader2 = sqlhelper.datareader("select * from city where pid=@pid", new SqlParameter("@pid", value));
                    if (reader2.HasRows)
                    {
                        DropDownList2.DataSource = reader2;
                        DropDownList2.DataTextField = "city";
                        DropDownList2.DataValueField = "id";
                        DropDownList2.DataBind();
                    }
                }
            }
        }

        protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
        {
            string value=DropDownList1.SelectedValue;
            SqlDataReader reader = sqlhelper.datareader("select * from city where pid=@pid", new SqlParameter("@pid", value));
            if (reader.HasRows)
            {
                DropDownList2.DataSource = reader;
                DropDownList2.DataTextField = "city";
                DropDownList2.DataValueField = "id";
                DropDownList2.DataBind();
            }
        }
    }
}

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