程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> Eval( ) DataBinder.Eval(Container.DataItem, ) 這兩種寫法區別

Eval( ) DataBinder.Eval(Container.DataItem, ) 這兩種寫法區別

編輯:.NET實例教程

Eval( " ")和Bind( " ") 這兩種一個單向綁定,一個雙向綁定

bind是雙向綁定,但需數據源可更改才能用

ASP.NET   2.0改善了模板中的數據綁定操作,把v1.x中的數據綁定語法DataBinder.Eval(Container.DataItem,   fieldname)簡化為Eval(fIEldname)。Eval方法與DataBinder.Eval一樣可以接受一個可選的格式化字符串參數。縮短的Eval語法與DataBinder.Eval的不同點在於,Eval會根據最近的容器對象(例如DataListItem)的DataItem屬性來自動地解析字段,而DataBinder.Eval需要使用參數來指定容器。由於這個原因,Eval只能在數據綁定控件的模板中使用,而不能用於Page(頁面)層。當然,ASP.Net   2.0頁面中仍然支持DataBinder.Eval,你可以在不支持簡化的Eval語法的環境中使用它。
下面的例子演示了如何使用新的簡化的Eval數據綁定語法綁定到DataList數據項模板(ItemTemplate)中的Image、Label和HyperLink控件。

<ASP:DataList   ID= "DataList1 "   RepeatColumns= "5 "   Width= "600 "   runat= "server "   DataSourceID= "ObjectDataSource1 ">
 <ItemTemplate>
  <asp:HyperLink   ID= "HyperLink1 "   runat= "server "   NavigateUrl= '<%#   Eval( "PhotoID ",   "PhotoFormVIEwPlain.ASPx?ID={0} ")   %> '>
  <asp:Image   ID= "Image1 "   Runat= "server "   ImageUrl= '<%#   Eval( "FileName ",   "images/thumbs/{0} ")   %> '   /></ASP:HyperLink>
  <ASP:Label   ID= "CaptionLabel "   runat= "server "   Text= '<%#   Eval( "Caption ")   %> '   />
 </ItemTemplate>
</ASP:DataList><br   />
<ASP:ObjectDataSource   ID= "ObjectDataSource1 "   runat= "server "   TypeName= "DataComponentTableAdapters.PhotosTableAdapter "   SelectMethod= "GetPhotosForAlbum ">  

  數據綁定也可以作為控件的主題定義(theme   definition)的一部分,這樣我們就可以通過改變主題來隨意地改變模板化控件的布局和外觀。但是Theme(主題)模板中只能使用Eval(或者後面討論的Bind)。綁定到任意的用戶代碼是被禁止的。  

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved