服務(wù)熱線
153 8323 9821
Eval( " ")和Bind( " ") 這兩種一個(gè)單向綁定,一個(gè)雙向綁定,bind是雙向綁定,但需數(shù)據(jù)源支持
ASP.NET 2.0改善了模板中的數(shù)據(jù)綁定操作,把v1.x中的數(shù)據(jù)綁定語法DataBinder.Eval(Container.DataItem, fieldname)簡(jiǎn)化為Eval(fieldname)。Eval方法與DataBinder.Eval一樣可以接受一個(gè)可選的格式化字符串參數(shù)??s 短的Eval語法與DataBinder.Eval的不同點(diǎn)在于,Eval會(huì)根據(jù)最近的容器對(duì)象(例如DataListItem)的DataItem屬性 來自動(dòng)地解析字段,而DataBinder.Eval需要使用參數(shù)來指定容器。由于這個(gè)原因,Eval只能在數(shù)據(jù)綁定控件的模板中使用,而不能用于 Page(頁面)層。當(dāng)然,ASP.NET 2.0頁面中仍然支持DataBinder.Eval,你可以在不支持簡(jiǎn)化的Eval語法的環(huán)境中使用它。
下面的例子演示了如何使用新的簡(jiǎn)化的Eval數(shù)據(jù)綁定語法綁定到DataList數(shù)據(jù)項(xiàng)模板(ItemTemplate)中的Image、Label和HyperLink控件。
數(shù)據(jù)綁定也可以作為控件的主題定義(theme definition)的一部分,這樣我們就可以通過改變主題來隨意地改變模板化控件的布局和外觀。但是Theme(主題)模板中只能使用Eval(或者 后面討論的Bind)。綁定到任意的用戶代碼是被禁止的。
1.DataBinder.Eval用法
//顯示二位小數(shù)
<%# DataBinder.Eval(Container.DataItem, "UnitPrice", "${0:F2}") %>
//{0:G}代表顯示True或False