程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> ASP.NET移動開發之SelectionList控件

ASP.NET移動開發之SelectionList控件

編輯:關於ASP.NET

SelectionList控件的列表中只有一個可視的數據項,其它的數據項只能以隱藏值的形式與可視的數據項進行關聯。要在服務器控件語法中指定隱藏值,可以在<Item>元素中使用Value屬性,並且將Value屬性指定某數據項即可。如果使用動態綁定的形式來構建列表的話,那麼你可以使用DataValueField屬性指定數據源中的某個字段作為隱藏值。

語法

SelectionList列表控件的語法如下面的清單所示:

<mobile:SelectionList
runat="server"
id="id"
Alignment="{NotSet|Left|Center|Right}"
BackColor="backgroundColor"
BreakAfter="{True|False}"
Font-Bold="{NotSet|False|True}"
Font-Italic="{NotSet|False|True}"
Font-Name="fontName"
Font-Size="{NotSet|Normal|Small|Large}"
ForeColor="foregroundColor"
StyleReference="StyleReference"
Wrapping="{NotSet|Wrap|NoWrap}"
DataMember="dataMember"
DataSource="dataSource"
DataTextField="DataTextField"
DataValueField="DataValueField"
SelectType="{DropDown|ListBox|Radio|MultiSelectListBox|CheckBox}"
Title="String"
OnItemDataBind="itemDataBindHandler"
OnSelectedIndexChanged="selectedIndexChangedHandler">
<!-- 可選,以靜態的方式聲明數據項-->
<Item Text="Text" Value="Value" Selected="{True|False}"/>
</mobile:SelectionList>

至於要顯示的列表數據項我們可以從數據源中進行讀取,這種情況下我們需要使用DataMember、 DataSource、DataTextField和DataValueField等屬性。當然你也可以使用<item>標簽靜態地定義要顯示的數據項和隱藏值。注意,在上述SelectionList列表控件的語法中,並沒有包含SelectedIndex這個屬性,這是因為我們不可以在服務器控件語法中使用它,只有通過代碼才可以使用SelectedIndex屬性來獲取當前選項的索引值。如果在服務器控件語法中要使某數據項處於被選中的狀態,你可以在與該數據項對應的<Item> 標簽中設置Selected屬性為True。

屬性和事件

下表描述列舉了SelectionList列表控件中的一些常用的屬性和事件,其中"類型"列描述了對應屬性的類型,這樣你就可以在代碼中對這些屬性進行設置和讀取,至於這些屬性可用的值你可以參考"語法"小節中的說明。

屬性/事件 類型 描述 DataMember String 只有當SelectionList列表控件與一個System.Data.DataTable或System.Data.DataSet對象綁定時才使用此屬性。該屬性指定用來指定DataSet中那個DataTable是列表控件的真正數據源。 DataSource Object 只有當SelectionList列表控件采用數據綁定的方式定義數據項時才使用這個屬性。DataSource屬性用來指定一個DataSet對象,或是一個集合對象作為列表控件的數據源。 DataTextField String 當SelectionList列表控件綁定到DataSet或集合對象時,DataTextField屬性用來指定數據源中的某個字段在列表中進行顯示。 DataValueField String 當SelectionList列表控件綁定到DataSet或集合對象時,DataValueField 屬性用來指定數據源中的某個字段,用來提供隱藏值與列表顯示的數據項進行關聯。 Items System.Web. UI.MobileControls.Mobil eListItemCollection 我們可以使用這個屬性訪問MobileListItemCollection對象,而這個對象又是存儲整個列表中的所有數據項對應的System.Web.UI.MobileControls.MobileLi stItem對象。你可以在代碼中對這個集合中的各個MobileListItem對象進行操作。 Rows Integer 當列表控件的SelectType屬性值為ListBox 或MultiSelectListBox時,Rows屬性用來設置可以在HTML浏覽器和CHTML浏覽器中可呈現出的數據項行數。由於WML浏覽器不支持多行顯示,所有設置該屬性是無效的。 SelectedIndex Integer 返回或設置當前那個數據項被選中。如果SelectionList列表控件在當前為多選的模式時,也就是說如果你在一個列表中選擇可多個數據項,那麼SelectedIndex屬性返回的是第一個被選中的數據項的索引。 Selection MobileListItem 返回被選中的數據項(一個MobileListItem對象),如果在列表中沒有選擇任何數據項的話,將返回null。 SelectType System.Web.UI. MobileControls. ListSelectType的枚舉值: DropDown| ListBox|Radio| MultiSelectListBox|CheckBox 該枚舉用來反映SelectionList列表控件在設備浏覽器上的顯示樣式。CheckBox 和MultiSelectListBox允許多項選擇,其它的枚舉值只允許單項選擇。該屬性的默認值為DropDown. ItemDataBind (event) 事件處理函數 當SelectionList列表控件以數據綁定的形式定義數據項時,在每個數據項被添加到列表中時觸發這個事件。 SelectedIndexChanged (event) 事件處理函數 如果SelectionList控件處於單項模式時,當用戶使選項方式改變時將調用這個事件處理函數。該事件只有在一個Command控件產生一個從客戶端到服務器端的回發時才觸發,也就是說該事件是無法由SelectionList控件自動觸發的,必須借助於Command控件。

SelectedIndex和Selection這兩個屬性只有當某個數據項被選擇後才可以在代碼中進行設置。你可以在代碼中讀取SelectedIndex的屬性值,以確定當前選中的數據項在列表中對應的索引值。Selection也是類似的,只不過它返回的是與當前選中的數據項對應的MobileListItem對象,而不是索引值。

當用戶在一個Selection列表中做出相應的選擇後,客戶端浏覽器上的Form窗體將那些被選擇的一個或多個數據項進行相應的編碼,並將這些編碼信息添加到要回發到服務器的數據中,這樣ASP.NET運行時就可以利用這些被回發到服務器的數據來更新Selection的一些屬性,例如SelectedIndex。但是Selection並不會因為用戶選擇好了數據項後就自動地將數據信息回發到服務器上,而是要借助一個Command控件產生回發操作,為此你需要將這個Selection列表控件和Command控件放置在同一個Form控件中。

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