ASP.NET 2.0改善了模板中的數(shù)據(jù)綁定操作,把v1.x中的數(shù)據(jù)綁定語法DataBinder.Eval(Container.DataItem, fieldname)簡化為Eval(fieldname)。Eval方法與DataBinder.Eval一樣可以接受一個可選的格式化字符串參數(shù)。縮短的Eval語法與DataBinder.Eval的不同點在于,Eval會根據(jù)最近的容器對象(例如DataListItem)的DataItem屬性來自動地解析字段,而DataBinder.Eval需要使用參數(shù)來指定容器。由于這個原因,Eval只能在數(shù)據(jù)綁定控件的模板中使用,而不能用于 Page(頁面)層。當然,ASP.NET 2.0頁面中仍然支持DataBinder.Eval,你可以在不支持簡化的Eval語法的環(huán)境中使用它。
Eval:綁定的是只讀數(shù)據(jù)的顯示;Bind:可以綁定只讀數(shù)據(jù)也可以綁定更新數(shù)據(jù),Bind方法還把字段和控件的綁定屬性聯(lián)系起來,使得數(shù)據(jù)控件(比如GridView等)的Update、Insert和Delete等方法可以使用這種聯(lián)系來作出相應的處理。
%# DataBinder.Eval(Container.DataItem, "ColumnName") %>
%# (bool)DataBinder.Eval(Container.DataItem, "BoolValue") %>
%# DataBinder.Eval(Container.DataItem,"Company_Ureg_Date","{0:yyyy-MM-dd}")%>
%# Bind("AddinTime", "{0:yyyy-mm-dd}") %>
1, 對顯示的字符串作字符顯示:%# (Eval("Address")).ToString().SubString(0,10)%>,顯示10位數(shù)的地址。