程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> ASP.NET基礎 >> ASP.NET中DropDownList和ListBox實現兩級聯動功能

ASP.NET中DropDownList和ListBox實現兩級聯動功能

編輯:ASP.NET基礎

DropDownList和ListBox實現兩級聯動功能,它們可以將從後台數據庫中搜選的出來的信息加以綁定,這裡要實現的功能是在DropDownList中選擇“省”,然後讓ListBox自動將其省份下的“市”顯示出來,這就是所謂的兩級聯動功能,這個功能我們在很多注冊網頁上看見,今天就為大家解開ASP.NET神秘的面紗。
一、設置前台界面,在Web窗體中添加DropDownList和ListBox兩個控件。

界面圖如下所示。

   

二、編寫後台代碼
在這,後台代碼編寫在其窗體的Page_Load事件中

<span style="font-family:KaiTi_GB2312;font-size:18px;"> protected void Page_Load(object sender, EventArgs e) 
 { 
  if (!Page.IsPostBack ) //判斷頁面是否第一次加載 
  { 
  SqlConnection con = DB.createConnection(); //此方法在上一篇文章中已經介紹,調用一個已經編寫好的創建數據庫連接的方法。 
  SqlCommand cmd = new SqlCommand("select * from province",con); 
  SqlDataReader sdr = cmd.ExecuteReader(); 
  this.DropDownList1.DataTextField = "proName"; 
  this.DropDownList1.DataValueField = "proID"; //主鍵字段 
  this.DropDownList1.DataSource = sdr; 
  this.DropDownList1.DataBind(); 
  sdr.Close(); 
 
  } 
 
 }</span> 

編寫DropDownList1_SelectedIndexChanged事件代碼,實現單擊“省”,ListBox自動添加該“省”所具有的“市”

<span style="font-family:KaiTi_GB2312;font-size:18px;"> protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) 
 { 
  this.ListBox1.Items.Clear(); 
  SqlConnection con2 = DB.createConnection(); 
  SqlCommand cmd1 = new SqlCommand("select * from city where proID=" + this.DropDownList1.SelectedValue, con2); 
  SqlDataReader sdr1 = cmd1.ExecuteReader(); 
  while (sdr1.Read()) 
  { 
  this.ListBox1.Items.Add(new ListItem(sdr1.GetString(2),sdr1.GetInt32(0).ToString())); 
  } 
 }</span> 

運行文件,效果圖如下所示

這裡河北省的城市我沒有添加完整,只是為了實現兩級聯動的功能,相比前兩篇文章中Web控件GridView和Repeater的使用,GridView和Repeater功能雖然是相當強大,但是不同的控件有不同的用途,在這裡,殺雞焉用牛刀?

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved