一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - ASP.NET教程 - DropDownList綁定數據表實現兩級聯動示例

DropDownList綁定數據表實現兩級聯動示例

2019-12-01 12:10ASP.NET教程網 ASP.NET教程

這篇文章主要介紹了DropDownList綁定數據表實現兩級聯動具體實現,需要的朋友可以參考下

場景一:平時我們在DropDownList控件下添加下拉選項時,都會使用它的Item.Add方法,直接在代碼下添加。如果我們想添加或修改下拉選項,則必須去修改源代碼。如果幾個DropDownList控件的下拉選項相同,我們則需要重復添加好多次,后期的維護工作很不方便。 

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

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

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

復制代碼代碼如下:


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','濟南') 
insert into City values('8','3','煙臺') 
insert into City values('9','3','青島') 


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

然后我們在Web窗體中放好控件,效果如下圖所示: 
DropDownList綁定數據表實現兩級聯動示例 
dropDownList控件名稱分別為ddlProvince、ddlCity 

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

建立數據庫連接類: 

復制代碼代碼如下:


public class DB 

//連接數據庫的字符串 
public static SqlConnection CreateConnection() 

SqlConnection con = new SqlConnection("Data Source=. ;Initial Catalog=test;uid=sa;pwd=123456;"); 
return con; 


Web窗體加載時執行代碼: 

復制代碼代碼如下:


protected void Page_Load(object sender, EventArgs e) 

//如果窗體是第一次加載 
if (!this.IsPostBack) 

//綁定省份 
SqlConnection con = DB.CreateConnection(); 
//打開數據庫連接 
con.Open(); 
SqlCommand cmdProvince = new SqlCommand("select * from Province", con); 
SqlDataReader sdrProvince = cmdProvince.ExecuteReader(); 
//將sdrProvince中的內容綁定到ddlProvince下拉列表中 
this.ddlProvince.DataSource = sdrProvince; 
//需要顯示的數據表Province中的內容 
this.ddlProvince.DataTextField = "ProName"; 
//需要顯示的數據表Province中的主鍵 
this.ddlProvince.DataValueField = "ProID"; 
this.ddlProvince.DataBind(); 
sdrProvince.Close(); 
//關閉數據庫連接 
con.Close(); 


ddlProvince控件下拉選項改變時執行的代碼: 

復制代碼代碼如下:


protected void ddlProvince_SelectedIndexChanged(object sender, EventArgs e) 

SqlConnection con = DB.CreateConnection(); 
//打開數據庫連接 
con.Open(); 
//綁定城市 
SqlCommand cmdCity = new SqlCommand("select * from City where ProID=" + this.ddlProvince.SelectedValue, con); 
SqlDataReader sdrCity = cmdCity.ExecuteReader(); 
//將sdrCity中的內容綁定到ddlCity下拉列表中 
this.ddlCity.DataSource = sdrCity; 
//需要顯示的數據表City中的內容 
this.ddlCity.DataTextField = "CityName"; 
//需要顯示的數據表City中的主鍵 
this.ddlCity.DataValueField = "CityID"; 
this.ddlCity.DataBind(); 
sdrCity.Close(); 
//關閉數據庫連接 
con.Close(); 


這樣,我們就用DropDownList動態綁定數據表,實現了根據選擇的省份動態下拉該省份下的城市的功能,達到了面向對象設計中解耦的目的,增強了代碼的可維護性和用戶的體驗度。 

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 久久sese| 亚洲国产成人久久综合一区77 | 2021小妲己永久回家地址 | 日本男男漫画 | 国产一卡二卡3卡4卡四卡在线 | 维修工的调教 | 2021国产精品成人免费视频 | 久久精品午夜一区二区福利 | 91会员 | 阿 好深 快点 老师受不了 | 波多野结衣在线观看视频 | 亚洲 色 欧美 爱 视频 日韩 | 女色在线观看免费视频 | 免费一级夫妻a | 亚洲免费视频一区二区三区 | 精品无码人妻一区二区免费AV | 四虎影视4hutv最新地址在线 | 草免费视频| 国产视频中文字幕 | 日韩一品在线播放视频一品免费 | 热色综合| 小嫩videos | 午夜精品久久久久久中宇 | 国产aⅴ一区二区三区 | 99热国产在线观看 | 秀逼逼| 人人爽人人香蕉 | 国产精品va在线观看手机版 | 女八把屁股扒开让男生添 | 无人区1免费完整观看 | 女生被爆操 | 四虎一影院区永久精品 | 玩逼逼| 国产成人99精品免费观看 | 精品免费视在线视频观看 | 二区三区不卡不卡视频 | 亚洲成人黄色 | 五月最新商场女厕所高跟嘘嘘 | 1024免费观看完整版在线播放 | 欧美乱妇高清无乱码视频在线 | 日本高清视频在线免费观看 |