通過前面的例子我們看到每次我們要顯示數據的時候都要通過一個循環來顯示滿足條件的數據,這是一個比較麻煩的過程,為此微軟定義了一系列的控件專門用於顯示數據的格式,通過這些控件可以以可視化的方式查看綁定數據之後的效果。這些控件稱之為數據綁定控件。在asp.net中所有的數據庫綁定控件都是從BaseDataBoundControl這個抽象類派生的,這個抽象類定義了幾個重要屬性和一個重要方法:
DataSource屬性:指定數據綁定控件的數據來源,顯示的時候程序將會從這個數據源中獲取數據並顯示。
DataSourceID屬性:指定數據綁定控件的數據源控件的ID, 顯示的時候程序將會根據這個ID找到相應的數據源控件,並利用這個數據源控件中指定方法獲取數據並顯示。
DataBind()方法:當指定了數據綁定控件的DataSource屬性或者DataSourceID屬性之後,再調用DataBind()方法才會顯示綁定的數據。並且在使用數據源時,會首先嘗試使用DataSourceID屬性標識的數據源,如果沒有設置DataSourceID時才會用到DataSource屬性標識的數據源。也就是說DataSource和DataSourceID兩個屬性不能同時使用。
數據綁定控件的DataSource控件屬性必須是一個可以枚舉的數據源,如實現了ICollection、IEnumerable或IListSource接口的類的實例。
今天要講述的內容有:
DropDownList控件
ListBox控件
GridView控件
DataList控件
Repeater控件
FormView控件
DetailsView控件
DropDownList控件
DropDownList控件是一個相對比較簡單的數據綁定控件,它在客戶端被解釋成<select></select>這樣的HTML標記,也就是只能有一個選項處於選中狀態。
DropDownList控件常見屬性:
AutoPostBack屬性:這個屬性的用法在講述基本控件的時候已經講過,是用來設置當下拉列表項發生變化時是否主動向服務器提交整個表單,默認是false,即不主動提交。如果設置為true,就可以編寫它的SelectedIndexChanged事件處理代碼進行相關處理(注意:如果此屬性為false即使編寫了SelectedIndexChanged事件處理代碼也不會馬上起作用)。
DataTextField屬性:設置列表項的可見部分的文字。
DataValueField屬性:設置列表項的值部分。
Items屬性:獲取控件的列表項的集合。
SelectedIndex屬性:獲取或設置 DropDownList 控件中的選定項的索引。
SelectedItem屬性:獲取列表控件中索引最小的選定項。
SelectedValue屬性:取列表控件中選定項的值,或選擇列表控件中包含指定值的項。