数据绑定表达式 Eval() 和Bind()的区别

绑定表达式 
<%#  Eval("字段名") %> 
<%#  Bind("字段名") %> 
区别 
1,eval是只读数据,Bind是可更新的. 
2.当再次表达式操作时候,必须用Eval 如<%# Eval("字段名").ToString().Trim()%> 
3.若GridView中绑定列里面 设置 内容格式 DataFormateString ={0:d} ,则 必须把 属性 HtmlCode 设置为false,否则无法起作用; 

< asp : GridView ID ="grvResult" runat ="server" AutoGenerateColumns ="False" Width ="100%">

< Columns >

< asp : BoundField HeaderText =" 预定日期 " DataField ="OperationDate" DataFormatString ="{0:yyyy-MM-dd}" HtmlEncode ="False" >

</ asp : BoundField >

< asp : BoundField HeaderText =" 订单总计 " DataField ="TotalRate" DataFormatString ="{0:C}"HtmlEncode ="False" >

</ asp : BoundField >

</ Columns >

</ asp : GridView >

Eval 单向绑定:数据是只读的 Bind双向绑定:数据可以更改,并返回服务器端,服务器可以处理更改后的数据,如存入数据库. <%# DataBinder.Eval(Container.DataItem,"dateandtime","{0:D}")%> //----2006年10月27日 <%# DataBinder.Eval(Container.DataItem,"dateandtime","{0:F}")%>//----2006年10月27日 8:31:44 <%# DataBinder.Eval(Container.DataItem,"dateandtime","{0:G}")%>//----2006-10-27 8:31:44 <%# DataBinder.Eval(Container.DataItem,"dateandtime","{0:M}")%>//----10月27日 <%# DataBinder.Eval(Container.DataItem,"dateandtime","{0:R}")%>//----Fri, 27 Oct 2006 08:31:44GMT <%# DataBinder.Eval(Container.DataItem,"dateandtime","{0:T}")%>//----8:31:44 <%# DataBinder.Eval(Container.DataItem,"dateandtime","{0:U}")%>//----2006年10月27日 0:31:44 <%# DataBinder.Eval(Container.DataItem,"dateandtime","{0:Y}")%>//----2006年10月 对于程序员来说最根本的区别是: 1.Bind是可更新的,是Bind绑定列可编辑,并且可以和数据源控件交互,直接和数据库交互,但是用Bind的话,程序端的自定义操作就不能用了,比如Convert,ToString(),string.Format("{0:yy--mm-dd}, 绑定表达式") 或自己写的函数,在程序端都不可以。 2.eval是只读数据,用eval的话不可以和数据源控件交互,是单向的,但是可以自定义操作 比如上面的<%# Eval("字段名").ToString().Trim()%>
Eval 方法可计算数据绑定控件(如 GridView、DetailsView 和 FormView 控件)的模板中的后期绑定数据表达式。在运行时,Eval 方法调用 DataBinder 对象的 Eval 方法,同时引用命名容器的当前数据项。命名容器通常是包含完整记录的数据绑定控件的最小组成部分,如 GridView 控件中的一行。因此,只能对数据绑定控件的模板内的绑定使用 Eval 方法。 

Eval 方法以数据字段的名称作为参数,从数据源的当前记录返回一个包含该字段值的字符串。可以提供第二个参数来指定返回字符串的格式,该参数为可选参数。字符串格式参数使用为 String 类的 Format 方法定义的语法。 
<%#
String.Format("{0:c}", ((DataRowView)Container.DataItem)["IntegerValue"])
%> 数据项的命名容器,数据字段,格式字符串
<%# DataBinder.Eval(Container.DataItem, "IntegerValue", "{0:c}") %>
       数据项命名容器,字段,格式化字符串
当对模板化列表中的控件进行数据绑定时,DataBinder.Eval 特别有用,因为数据行和数据字段通常都必须强制转换。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值