欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

DropDownList綁定數(shù)據(jù)表實現(xiàn)兩級聯(lián)動示例

 更新時間:2014年03月11日 15:37:12   作者:  
這篇文章主要介紹了DropDownList綁定數(shù)據(jù)表實現(xiàn)兩級聯(lián)動具體實現(xiàn),需要的朋友可以參考下
場景一:平時我們在DropDownList控件下添加下拉選項時,都會使用它的Item.Add方法,直接在代碼下添加。如果我們想添加或修改下拉選項,則必須去修改源代碼。如果幾個DropDownList控件的下拉選項相同,我們則需要重復(fù)添加好多次,后期的維護(hù)工作很不方便。

場景二:我們在12306網(wǎng)站買票時,肯定遇到過這么一種情景:我們需要先選定目的地的省份,選完省份后在城市選框中會自動加載該省份的城市,實現(xiàn)兩級聯(lián)動。

針對以上兩個場景,我們可以用DropDownList直接綁定數(shù)據(jù)表,根據(jù)選擇的省份動態(tài)加載該省份下的城市。光說不練,不是好漢,讓我用一個小Demo來大家演示下詳細(xì)過程吧。

首先我們需要在數(shù)據(jù)庫中建立兩個表,一個是Province(省份)表,一個是City(城市)表。建表語句如下:
復(fù)制代碼 代碼如下:

Create Table Province
(
ProID int primary key,
ProName varchar(20) not null
)

Create Table City
(
CityID int primary key,
ProID int foreign key references Province(ProID),
CityName varchar(20)
)

Insert into Province values('1','北京')
Insert into Province values('2','河北')
Insert into Province values('3','山東')

insert into City values('1','1','海淀')
insert into City values('2','1','豐臺')
insert into City values('3','1','大興')
insert into City values('4','2','衡水')
insert into City values('5','2','廊坊')
insert into City values('6','2','保定')
insert into City values('7','3','濟(jì)南')
insert into City values('8','3','煙臺')
insert into City values('9','3','青島')

通過建表語句我們可以知道,北京下有三個城市--海淀、豐臺、大興,河北下有三個城市--衡水、廊坊、保定,山東有三個城市--濟(jì)南、煙臺、青島。

然后我們在Web窗體中放好控件,效果如下圖所示:
 
dropDownList控件名稱分別為ddlProvince、ddlCity

接著我們在Web后臺代碼中實現(xiàn)功能。我們需要在Web窗體加載時,ddlProvince控件綁定Province表,在ddlProvince下拉選項改變時,ddlCity控件綁定City表。實現(xiàn)代碼如下:

建立數(shù)據(jù)庫連接類:
復(fù)制代碼 代碼如下:

public class DB
{
//連接數(shù)據(jù)庫的字符串
public static SqlConnection CreateConnection()
{
SqlConnection con = new SqlConnection("Data Source=. ;Initial Catalog=test;uid=sa;pwd=123456;");
return con;
}
}

Web窗體加載時執(zhí)行代碼:
復(fù)制代碼 代碼如下:

protected void Page_Load(object sender, EventArgs e)
{
//如果窗體是第一次加載
if (!this.IsPostBack)
{
//綁定省份
SqlConnection con = DB.CreateConnection();
//打開數(shù)據(jù)庫連接
con.Open();
SqlCommand cmdProvince = new SqlCommand("select * from Province", con);
SqlDataReader sdrProvince = cmdProvince.ExecuteReader();
//將sdrProvince中的內(nèi)容綁定到ddlProvince下拉列表中
this.ddlProvince.DataSource = sdrProvince;
//需要顯示的數(shù)據(jù)表Province中的內(nèi)容
this.ddlProvince.DataTextField = "ProName";
//需要顯示的數(shù)據(jù)表Province中的主鍵
this.ddlProvince.DataValueField = "ProID";
this.ddlProvince.DataBind();
sdrProvince.Close();
//關(guān)閉數(shù)據(jù)庫連接
con.Close();
}
}

ddlProvince控件下拉選項改變時執(zhí)行的代碼:
復(fù)制代碼 代碼如下:

protected void ddlProvince_SelectedIndexChanged(object sender, EventArgs e)
{
SqlConnection con = DB.CreateConnection();
//打開數(shù)據(jù)庫連接
con.Open();
//綁定城市
SqlCommand cmdCity = new SqlCommand("select * from City where ProID=" + this.ddlProvince.SelectedValue, con);
SqlDataReader sdrCity = cmdCity.ExecuteReader();
//將sdrCity中的內(nèi)容綁定到ddlCity下拉列表中
this.ddlCity.DataSource = sdrCity;
//需要顯示的數(shù)據(jù)表City中的內(nèi)容
this.ddlCity.DataTextField = "CityName";
//需要顯示的數(shù)據(jù)表City中的主鍵
this.ddlCity.DataValueField = "CityID";
this.ddlCity.DataBind();
sdrCity.Close();
//關(guān)閉數(shù)據(jù)庫連接
con.Close();
}

這樣,我們就用DropDownList動態(tài)綁定數(shù)據(jù)表,實現(xiàn)了根據(jù)選擇的省份動態(tài)下拉該省份下的城市的功能,達(dá)到了面向?qū)ο笤O(shè)計中解耦的目的,增強(qiáng)了代碼的可維護(hù)性和用戶的體驗度。

希望我的講解能對大家有所幫助。

相關(guān)文章

  • C# new和override的區(qū)別分析

    C# new和override的區(qū)別分析

    C# new和override都會覆蓋父類中的方法。那它們兩者之前有什么區(qū)別呢?
    2013-03-03
  • asp.net獲取網(wǎng)站絕對路徑示例

    asp.net獲取網(wǎng)站絕對路徑示例

    在編寫 ASP.NET 應(yīng)用程序的時候,有時為了更好地進(jìn)行控制靜態(tài)文件的路徑,如在模板頁或者用戶控件中設(shè)置js或者css文件的路徑等,采用絕對路徑是難免的。下面就是幾種獲取絕對路徑的幾種方法
    2014-02-02
  • ASP.NET Core中如何實現(xiàn)重定向詳解

    ASP.NET Core中如何實現(xiàn)重定向詳解

    這篇文章主要給大家介紹了關(guān)于ASP.NET Core中如何實現(xiàn)重定向的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • asp.net下按鈕點擊后禁用的實現(xiàn)代碼

    asp.net下按鈕點擊后禁用的實現(xiàn)代碼

    有時候為了不讓用戶連續(xù)的點擊某按鈕,我們會選擇將其在點擊后禁用。
    2010-09-09
  • ASP.NET MVC 從IHttp到頁面輸出的實例代碼

    ASP.NET MVC 從IHttp到頁面輸出的實例代碼

    MVCHandler應(yīng)該算是MVC真正開始的地方。MVCHandler實現(xiàn)了IHttpHandler接口,ProcessRequest便是方法入口
    2013-09-09
  • Asp.Net類型轉(zhuǎn)換類(通用類)代碼分享

    Asp.Net類型轉(zhuǎn)換類(通用類)代碼分享

    本文給大家分享兩段代碼,一段代碼關(guān)于asp.net類型轉(zhuǎn)換通用類的代碼,第二段關(guān)于asp.net 頁面數(shù)據(jù)驗證通用類的實例代碼,代碼簡單易懂,非常不錯,感興趣的朋友參考下吧
    2016-01-01
  • 安裝 VS2005 SP1 有關(guān)問題的解決辦法

    安裝 VS2005 SP1 有關(guān)問題的解決辦法

    安裝 VS2005 SP1 有關(guān)問題的解決辦法...
    2007-04-04
  • ASP.NET創(chuàng)建動態(tài)縮略圖的方法

    ASP.NET創(chuàng)建動態(tài)縮略圖的方法

    這篇文章主要介紹了ASP.NET創(chuàng)建動態(tài)縮略圖的方法,實例分析了asp.net動態(tài)操作圖片的相關(guān)技巧,需要的朋友可以參考下
    2015-06-06
  • ASP.NET  MVC傳送參數(shù)至服務(wù)端詳解及實例

    ASP.NET MVC傳送參數(shù)至服務(wù)端詳解及實例

    這篇文章主要介紹了ASP.NET MVC傳送參數(shù)至服務(wù)端詳解及實例的相關(guān)資料,需要的朋友可以參考下
    2016-11-11
  • ASP.NET MVC的四種驗證編程方式

    ASP.NET MVC的四種驗證編程方式

    ASP.NET MVC采用Model綁定為目標(biāo)Action生成了相應(yīng)的參數(shù)列表,但是在真正執(zhí)行目標(biāo)Action方法之前,還需要對綁定的參數(shù)實施驗證以確保其有效性,我們將針對參數(shù)的驗證成為Model綁定,需要的朋友可以參考下
    2015-10-10

最新評論