激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

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

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動態綁定數據表,實現了根據選擇的省份動態下拉該省份下的城市的功能,達到了面向對象設計中解耦的目的,增強了代碼的可維護性和用戶的體驗度。 

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国内精品久久久久久2021浪潮 | av在线播放免费观看 | 国产亚洲精品美女久久久 | 成年人免费视频播放 | 国产成人强伦免费视频网站 | 水多视频在线观看 | 天天操天天碰 | 成人午夜免费看 | 欧美日韩中文字幕在线 | 免费播放欧美毛片 | 亚洲特黄a级毛片在线播放 久久久入口 | 亚洲福利在线免费观看 | 久久精品艹| 亚洲第一成人久久网站 | 国产精品夜色视频一级区 | 久久99国产精品免费网站 | 精品国产一区二区三区天美传媒 | 日韩黄色影视 | 久久久久电影网站 | 欧美一区二区三区中文字幕 | 国产一区二区三区四区五区精品 | 国产精品二区高清在线 | 国产一区二区三区四区五区精品 | 91香蕉影视 | 午夜亚洲视频 | 国产亲子伦在线观看 | 国产在线一级片 | 久久99亚洲精品 | 黑人一区二区三区四区五区 | 黄色成人小视频 | 美女毛片在线观看 | 27xxoo无遮挡动态视频 | 欧美成人一区二区三区电影 | 久久网综合 | 国产午夜精品久久久久 | 久久精品视频网址 | 国内一区 | 一区二区三区在线播放视频 | www.91sao| 欧美2区 | 99精品国产在热久久婷婷 |