ASP.NET 2.0改善了模板中的數(shù)據(jù)綁定操作,把v1.x中的數(shù)據(jù)綁定語法DataBinder.Eval(Container.DataItem, fieldname)簡化為Eval(fieldname)。Eval方法與DataBinder.Eval一樣可以接受一個(gè)可選的格式化字符串參數(shù)。縮短的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,你可以在不支持簡化的Eval語法的環(huán)境中使用它。
Eval:綁定的是只讀數(shù)據(jù)的顯示;Bind:可以綁定只讀數(shù)據(jù)也可以綁定更新數(shù)據(jù),Bind方法還把字段和控件的綁定屬性聯(lián)系起來,使得數(shù)據(jù)控件(比如GridView等)的Update、Insert和Delete等方法可以使用這種聯(lián)系來作出相應(yīng)的處理。
Asp.net中DataBinder.Eval用法的總結(jié)
代碼如下:
<%# Bind("Subject") %> //綁定字段
<%# Container.DataItemIndex + 1%> //實(shí)現(xiàn)自動(dòng)編號(hào)
通常使用的方法
代碼如下:
<%# DataBinder.Eval(Container.DataItem, "ColumnName") %>
<%# (bool)DataBinder.Eval(Container.DataItem, "BoolValue") %>
取兩位小數(shù)
代碼如下:
<%# DataBinder.Eval(Container.DataItem, "UnitPrice", "{0:F2}") %>
時(shí)間格式化
代碼如下:
<%# DataBinder.Eval(Container.DataItem,"Company_Ureg_Date","{0:yyyy-MM-dd}")%>
<%# Bind("AddinTime", "{0:yyyy-mm-dd}") %>
Eval 和 Bind綁定的數(shù)據(jù)在<%# %> 顯示, 若對(duì)要顯示的數(shù)據(jù)作修改或者操作也在<%# %> 中,例如:
1, 對(duì)顯示的字符串作字符顯示:<%# (Eval("Address")).ToString().SubString(0,10)%>,顯示10位數(shù)的地址。
2, 對(duì)顯示的信息作判斷:<%# (Eval("if_delete")).ToString == "yes" ?"已刪除":"未刪除"%>
新聞熱點(diǎn)
疑難解答
圖片精選