數據綁定列表將數據庫中的一組數據顯示給用戶並等待用戶從中進行選擇ASPNET為用戶選擇提供了四種類型的列表DropDownListListBox RadioButto}List和CheckBoxList選擇列表中的選擇可以通過硬編碼(靜態地)添加也可以從數據源控件(動態地)添加在用戶選擇了一個值之後該值可以在相同頁面的代碼或其他控件中使用甚至可以在其他頁面的控件中使用
本節的主題(需要用戶進行選擇的列表)很容易和名為ASPNET DataList的控件相混淆該控件只顯示數據而無需用戶進行選擇本章後面將討論ASPNET DataList控件
這個選擇控件都支持一對容易讓人混淆的屬性第一個是DataTextField屬性它決定了用戶將要看到的文本相關但是不同的是DataValueField屬性該屬性保存著在站點內部用於處理用戶選擇的值例如DataTextField控件可能會顯示用戶名和所在城市的組合字符串但這個長的混合的值對於從Customers表中選擇單個用戶沒有用因此需要將控件的DataValueField屬性設置為客戶的ID號這將使得您可以在代碼中惟一地判斷訂單來自哪個客戶當為列表控件的DataText和DataValue設置不同的字段時兩個字段都必須包含在由相應的數據源控件獲得的字段列表中
所有選擇列表控件都有另一個重要的屬性AutoPostBack將在列表中的選擇發生改變時自動回送到服務器如果在回送事件中需要執行一些代碼以反映用戶的選擇那麼這是非常關鍵的例如根據用戶在列表框中的選擇重新呈現一個GridView控件以顯示一組受限的記錄
可以通過三種方法向列表中添加數據項第一種方法使用單獨的ASPNET 標記添加數據項第二種方法將列表綁定到一個數組中的值最後一種方法從數據源中讀取數據項
使用單獨的ASPNET 標記添加列表數據項
如果數據項相對而言是靜態的(例如州或省的名稱清單)則可以使用硬編碼添加數據項雖然代碼會比較長但它的執行速度比打開一個到數據源的連接要快注意在某些情況下雖然最初的數據項可能是靜態的(州的名稱清單)但出現在選擇列表中的數據項卻可能是動態的(只顯示有客戶的州)可以使用<asp:Listitem>標記添加數據項如下面的代碼所示在這個示例中您創建了一個下拉列表供用戶選擇球員的位置您希望用戶看到位置的完整名稱(例如Left Back)因此把這個值賦給Text屬性在用戶做出選擇之後作為程序員您希望實際處理這個位置的代碼所以將代碼賦給Value屬性另外請注意可以將Central Defender位置設置為默認選項例如在下面的代碼中第一個數據項是針對Goalkeeper的單詞Goalkeeper將作為文本出現在列表框中而值GK則是當用戶選擇Goalkeeper時您需要處理的代碼(DataTextField和DataValueField的概念將稍後解釋)
<asp:DropDownList ID=DropDownList runat=server>
<asp:ListItem Value=GK>Goalkeeper</asp:ListItem>
<asp:ListItem Value=LB>Left Back</asp:ListItem>
<asp:ListItem Value=RB>Right Back</asp:ListItem>
<asp:ListItem Value=CD Selected=true>Central Defender</asp:ListItem>
</asp:DropDownList>
ASPNET 入門教程完整版
[] [] [] []
From:http://tw.wingwit.com/Article/program/net/201311/15412.html