bind和eval都是ASP.NET中的函數,而且都有對將數據獲取到Html中的功能。那麼,它們在使用的時候有什麼區別呢?在我們編程的時候,在某種情況下,用哪個函數更加合適呢?
區別
用法:
1. bind綁定表達式:
一般數據綁定:
<%# Bind("字段的名字")>
帶數據格式的數據綁定:
<%# Bind("字段名稱","{0:格式字符串}")%>
2.eval綁定表達式:
帶格式字符串的數據綁定:
<%# Eval("字段名稱","home.aspx?id={0}")%>
數據讀寫:
bind:可更新的,雙向綁定
eval:只讀的,單向綁定
使用:
只能對數據綁定控件的模板內的綁定使用 Eval 方法。 Eval 方法以數據字段的名稱作爲參數,從數據源的當前記錄返回一個包含該字段值的字符串。可以提供第二個參數來指定返回字符串的格式,該參數爲可選參數。字符串格式參數使用爲 String 類的 Format 方法定義的語法。
Bind 方法與 Eval 方法有一些相似之處,但也存在很大的差異。雖然可以像使用 Eval 方法一樣使用 Bind 方法來檢索數據綁定字段的值,但當數據可以被修改時,還是要使用 Bind 方法。 在 ASP.NET 中,數據綁定控件(如 GridView、DetailsView 和 FormView 控件)可自動使用數據源控件的更新、刪除和插入操作。