亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

場(chǎng)景二:我們?cè)?2306網(wǎng)站買(mǎi)票時(shí),肯定遇到過(guò)這么一種情景:我們需要先選定目的地的省份,選完省份后在城市選框中會(huì)自動(dòng)加載該省份的城市,實(shí)現(xiàn)兩級(jí)聯(lián)動(dòng)。

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

首先我們需要在數(shù)據(jù)庫(kù)中建立兩個(gè)表,一個(gè)是Province(省份)表,一個(gè)是City(城市)表。建表語(yǔ)句如下:
復(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','豐臺(tái)')
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','煙臺(tái)')
insert into City values('9','3','青島')

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

然后我們?cè)赪eb窗體中放好控件,效果如下圖所示:
 
dropDownList控件名稱分別為ddlProvince、ddlCity

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

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

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

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

protected void Page_Load(object sender, EventArgs e)
{
//如果窗體是第一次加載
if (!this.IsPostBack)
{
//綁定省份
SqlConnection con = DB.CreateConnection();
//打開(kāi)數(shù)據(jù)庫(kù)連接
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ù)庫(kù)連接
con.Close();
}
}

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

protected void ddlProvince_SelectedIndexChanged(object sender, EventArgs e)
{
SqlConnection con = DB.CreateConnection();
//打開(kāi)數(shù)據(jù)庫(kù)連接
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ù)庫(kù)連接
con.Close();
}

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

希望我的講解能對(duì)大家有所幫助。

相關(guān)文章

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

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

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

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

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

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

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

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

    有時(shí)候?yàn)榱瞬蛔層脩暨B續(xù)的點(diǎn)擊某按鈕,我們會(huì)選擇將其在點(diǎn)擊后禁用。
    2010-09-09
  • ASP.NET MVC 從IHttp到頁(yè)面輸出的實(shí)例代碼

    ASP.NET MVC 從IHttp到頁(yè)面輸出的實(shí)例代碼

    MVCHandler應(yīng)該算是MVC真正開(kāi)始的地方。MVCHandler實(shí)現(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 頁(yè)面數(shù)據(jù)驗(yàn)證通用類的實(shí)例代碼,代碼簡(jiǎn)單易懂,非常不錯(cuò),感興趣的朋友參考下吧
    2016-01-01
  • 安裝 VS2005 SP1 有關(guān)問(wèn)題的解決辦法

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

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

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

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

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

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

    ASP.NET MVC的四種驗(yàn)證編程方式

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

最新評(píng)論