快速业务通道

asp.net中Bind和Eval的有什么区别

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-04-12
;/td>
      </tr>
      <tr>
        <td colspan="2"> <asp:LinkButton ID="UpdateButton" RunAt="server"
               Text="Update" CommandName="Update" />
               <asp:LinkButton ID="CancelUpdateButton" RunAt="server"
                Text="Cancel" CommandName="Cancel" />
        </td>
       </tr>
    </table>
   </EditItemTemplate>
  
  
   单击行的 Update 按钮时,使用 Bind 语法绑定的每个控件属性值都会被提取出来,并传递给数据源控件以执行更新操作。    
   
   使用 DataBinder.Eval
   ASP.NET 提供了一个名为 DataBinder.Eval 的静态方法,该方法计算后期绑定的数据绑定表达式,并将结果格式化为字符串(可选)。利用此方法,可以避免许多在将值强制为所需数据类型时必须执行的显式强制转换操作。
  
   例如,在下面的代码片段中,一个整数显示为货币字符串。使用标准的 ASP.NET 数据绑定语法,必须首先强制转换数据行的类型以便检索数据字段 IntegerValue。然后,这将作为参数传递到 String.Format 方法:
   
   <%# String.Format("{0:c}", ((DataRowView)Container.DataItem)["IntegerValue"]) %>    
   
   将此语法与 DataBinder.Eval 的语法进行比较,后者只有三个参数:数据项的命名容器、数据字段名称和格式字符串。在模板化列表中(如 DataList 类、DataGrid 类或 Repeater 类),命名容器始终是 Container.DataItem。    
   
   <%# DataBinder.Eval(Container.DataItem, "IntegerValue", "{0:c}") %>    
   
   格式字符串参数是可选的。如果它被忽略,DataBinder.Eval 将返回类型对象的值,如下面的示例所示:    
   
   <%# (bool)DataBinder.Eval(Container.DataItem, "BoolValue") %>    
   
   当对模板化列表中的控件进行数据绑定时,DataBinder.Eval 特别有用,因为数据行和数据字段通常都必须强制转换.

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号