zoukankan      html  css  js  c++  java
  • Eval( " ")和DataBinder.Eval(Container.DataItem, " ")区别(转)

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

  • 相关阅读:
    initializer_list形参
    前置递增运算符和后置递增运算符的区别
    基本的TCP socket API
    C++ find()函数
    python-对目录下的文件按时间排序
    js常用方法
    selenium中的对文本进行全选,复制,粘贴,剪切和删除的操作
    python 打包exe 命令及去除 cmd框
    mysql命令行修改密码
    html文件转换成excel
  • 原文地址:https://www.cnblogs.com/liuzhengliang/p/1600008.html
Copyright © 2011-2022 走看看