快速业务通道

简化的Eval数据绑定语法绑定到DataList数据项模板

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-03-14

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)。绑定到任意的用户代码是被禁止的。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号