主頁(yè) > 知識(shí)庫(kù) > DropDownList綁定數(shù)據(jù)表實(shí)現(xiàn)兩級(jí)聯(lián)動(dòng)示例

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

熱門(mén)標(biāo)簽:電銷(xiāo)機(jī)器人 數(shù)據(jù) 廣州銷(xiāo)售外呼系統(tǒng)定制 400電話(huà)辦理信任翰諾科技 怎樣給陜西地圖標(biāo)注顏色 云狐人工智能電話(huà)機(jī)器人 宿遷智能外呼系統(tǒng)排名 福州人工智能電銷(xiāo)機(jī)器人加盟 ai電銷(xiāo)機(jī)器人對(duì)貸款有幫助嗎 地圖標(biāo)注多少錢(qiá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控件名稱(chēng)分別為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ù)連接類(lèi):
復(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ù)性和用戶(hù)的體驗(yàn)度。

希望我的講解能對(duì)大家有所幫助。
您可能感興趣的文章:
  • Yii2使用dropdownlist實(shí)現(xiàn)地區(qū)三級(jí)聯(lián)動(dòng)功能的方法
  • asp.net DropDownList實(shí)現(xiàn)二級(jí)聯(lián)動(dòng)效果
  • ASP.NET中DropDownList和ListBox實(shí)現(xiàn)兩級(jí)聯(lián)動(dòng)功能
  • 下拉列表多級(jí)聯(lián)動(dòng)dropDownList示例代碼
  • 使用jQuery實(shí)現(xiàn)dropdownlist的聯(lián)動(dòng)效果(sharepoint 2007)
  • asp.net省市三級(jí)聯(lián)動(dòng)的DropDownList+Ajax的三種框架(aspnet/Jquery/ExtJs)示例
  • Jquery實(shí)現(xiàn)無(wú)刷新DropDownList聯(lián)動(dòng)實(shí)現(xiàn)代碼
  • asp.net DropDownList 三級(jí)聯(lián)動(dòng)下拉菜單實(shí)現(xiàn)代碼
  • dropdownlist之間的互相聯(lián)動(dòng)實(shí)現(xiàn)(顯示與隱藏)
  • yii2中dropDownList實(shí)現(xiàn)二級(jí)和三級(jí)聯(lián)動(dòng)寫(xiě)法

標(biāo)簽:曲靖 新疆 宜春 焦作 延安 黃南 大興安嶺 綿陽(yáng)

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《DropDownList綁定數(shù)據(jù)表實(shí)現(xiàn)兩級(jí)聯(lián)動(dòng)示例》,本文關(guān)鍵詞  DropDownList,綁定,數(shù)據(jù)表,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《DropDownList綁定數(shù)據(jù)表實(shí)現(xiàn)兩級(jí)聯(lián)動(dòng)示例》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于DropDownList綁定數(shù)據(jù)表實(shí)現(xiàn)兩級(jí)聯(lián)動(dòng)示例的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章