All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
SQL实现其他进制到十进制的转换_[SQL Server教程]
ASP.NET实现页面间值传递的几种方法_.net资料_编程技术
JS实现图片无缝滚动的完美解决_JavaScript技术_编程技术
Transact,SQL,常用语句以及函数_[SQL,Server教程]
C#中Windows通用的回车转Tab方法_[Asp.Net教程]
动态网页技术PHP入门:PHP安装设置技巧_php资料_编程技术
水晶报表基础操作技巧_[Asp.Net教程]
用ASP.NET,2.0,FormView控件控制显示_[Asp.Net教程]
在atlas里面的UpdatePanel控件中调用javascript,以及updatePanel的_[Asp.Net教程]
SQL Server 2005 Reporting Services 报表中随意格式化日期的方法_[SQL Server教程]
Reading number is top 10 pictures
Get girl by your hand
Take you to walk into the most true north Korea rural2
Most cow mistress ZhaoGongXia face exposure
Magnificent cloud2
Rendez-vous Sleep with actress, three days to earn 600000
何炅哥为中国人的平均工资鸣不平了
汪峰的梦想
Desktop Wallpapers1
The money of more than 100 countries and regions8
A man's favorite things2
Download software ranking
asp.net技术内幕
美女写真3
Such love down(擒爱记)
JSP+Ajax Web development typical examples
1400篇各类破解文章
Red cliff
Jinling thirteen stock
Kung.Fu.Panda.2
matrix3
C#与.NET技术平台实战演练
delv published in(发表于) 2014/1/27 6:49:07 Edit(编辑)
Bind和Eval的区别详解_[Asp.Net教程]

Bind和Eval的区别详解_[Asp.Net教程]

Bind和Eval的区别详解_[Asp.Net教程]

eval()方法在运行时使用反射执行后期绑定计算,因此与标准的ASP.NET数据绑定方法bind相比,会导致性能明显下降。它一般用在绑定时需要格式化字符串的情况下。多数情况尽量少用此方法


Eval 方法是静态(只读)方法,该方法采用数据字段的值作为参数并将其作为字符串返回。Bind 方法支持读/写功能,可以检索数据绑定控件的值并将任何更改提交回数据库。



使用 Eval 方法


Eval 方法可计算数据绑定控件(如 GridView、DetailsView 和 FormView 控件)的模板中的后期绑定数据表达式。在运行时,Eval 方法调用 DataBinder 对象的 Eval 方法,同时引用命名容器的当前数据项。命名容器通常是包含完整记录的数据绑定控件的最小组成部分,如 GridView 控件中的一行。因此,只能对数据绑定控件的模板内的绑定使用 Eval 方法。


Eval 方法以数据字段的名称作为参数,从数据源的当前记录返回一个包含该字段值的字符串。可以提供第二个参数来指定返回字符串的格式,该参数为可选参数。字符串格式参数使用为 String 类的 Format 方法定义的语法。



使用 Bind 方法


Bind 方法与 Eval 方法有一些相似之处,但也存在很大的差异。虽然可以像使用 Eval 方法一样使用 Bind 方法来检索数据绑定字段的值,但当数据可以被修改时,还是要使用 Bind 方法。


在 ASP.NET 中,数据绑定控件(如 GridView、DetailsView 和 FormView 控件)可自动使用数据源控件的更新、删除和插入操作。例如,如果已为数据源控件定义了 SQL Select、Insert、Delete 和 Update 语句,则通过使用 GridView、DetailsView 或 FormView 控件模板中的 Bind 方法,就可以使控件从模板中的子控件中提取值,并将这些值传递给数据源控件。然后数据源控件将执行适当的数据库命令。出于这个原因,在数据绑定控件的 EditItemTemplate 或 InsertItemTemplate 中要使用 Bind 函数。


Bind 方法通常与输入控件一起使用,例如由编辑模式中的 GridView 行所呈现的 TextBox 控件。当数据绑定控件将这些输入控件作为自身呈现的一部分创建时,该方法便可提取输入值。


Bind 方法采用数据字段的名称作为参数,从而与绑定属性关联,如下面的示例所示:







Employee ID:




<%# Eval("EmployeeID") %>








First Name:




Text='<%# Bind("FirstName") %>' />








Last Name:




Text='<%# Bind("LastName") %>' />








Text="Update" CommandName="Update" />

Text="Cancel" CommandName="Cancel" />







单击行的 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 特别有用,因为数据行和数据字段通常都必须强制转换。

来源:koukai的blog







添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.