ASP.NET實現數據綁定


一、數據綁定語法

數據綁定表達式包含在“<%#”和“%>”分隔符之內,並使用Eval方法和Bind方法。Eval方法用於定義單向(只讀)綁定,Bind方法用於定義雙向(可更新)綁定。

語法格式:<%#Eval("字段名") %>

     <%#Bind("字段名") %>

 

<%#綁定表達式 %> 不僅可以綁定數據源,而且可以綁定簡單屬性、集合、表達式,甚至從方法調用返回結果。

 

二、數據綁定表達式出現的位置

1.可以將數據綁定表達式包含在服務器控件或者普通的HTML元素的開始標記中,作為屬性名和屬性值對的值。eg:

<asp:TextBox ID="TextBox1"  runat="server" Text='<%#數據綁定表達式%>'></asp:TextBox>

此時數據的綁定表達式可以是一個變量,也可以是一個帶返回值的C#方法,也可以是某個控件的某個屬性的值,也可以是C#對象的某個字段或者屬性的值等。當然也可以直接就是一個字符串。

如果此時的數據綁定表達式是Eval("數據庫中某個表的某個字段")等,那么必須把TextBox1放在某個循環顯示的控件的模板中才正確,否則會提示:“Eval()、XPath()和Bind()這類數據綁定方法只能在數據綁定控件的上下文中使用",意思是要把TextBox1放在像Repeater、DataList、GridView這樣的控件的模板中

2.數據綁定表達式可以包含在頁面中的任何位置。

如果此時的數據綁定表達式是Eval("數據庫中某個表的某個字段")等,那么必須把<%#綁定表達式1 %>、<%#綁定表達式2 %>...放在像Repeater、DataList、GridView這樣的控件的模板中。

3.可以將數據綁定表達式包含在JavaScript代碼中,從而實現在JavaScript中調用C#的方法。

 

三、數據綁定表達式類型

1.綁定變量。變量可以作為數據源來提供數據。注意,這個變量必須為公有字段或受保護字段,即訪問修飾符為public或protected。eg:<%#變量名%>

2.綁定服務器控件的屬性值,可以是服務器控件的屬性值。

3.綁定方法。有返回值的方法可以作為數據源來提供數據。語法格式為:<%# 方法名(參數表)%>

4.綁定數組對象。數據對象可以作為數據源來提供數據。語法格式為:<%# 數據名 %>

5.綁定集合或列表列表控件、GridView等服務器控件可用集合作為數據源,這些控件只能綁定到支持IEnumerable、ICollection或IListSource接口的集合上。常見的是綁定ArrayList、Hashtable、DataView和DataReader。語法格式為:<%# 集合名 %>

6.綁定表達式。語法格式為:<%# 表達式 %>

7.綁定數據表的字段。字段可以是用Eval取得的數據表的字段,相當於數據庫中某個表或者視圖中的一行記錄,而一行可以有多列。

注意:如果數據綁定表達式作為屬性的值,只要數據綁定表達式中沒有出現雙引號,那么<%# 數據綁定表達式 %>的最外層用雙引號或者單引號都可以。如果數據綁定表達式中出現雙引號,則<%# 數據綁定表達式 %>的最外層最好要用單引號。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM