eval()方法在运行时使用反射执行后期绑定计算,因此与标准的 ASP.NET 数据绑定方法 bind 相比,会导
致性能明显下降。它一般用在绑定时需要格式化字符串的情况下。多数情况尽量少用此方法
Eval方法是静态(只读)方法,该方法采用数据字段的值作为参数并将其作为字符串返回。Bind方法支
持读/写功能,可以检索数据绑定控件的值并将任何更改提交回数据库。
使用 Eval方法
Eval方法可计算数据绑定控件(如 GridView、DetailsView和 FormView控件)的模板中的后期绑定
数据表达式。在运行时,Eval方法调用 DataBinder对象的 Eval方法,同时引用命名容器的当前数据
项。命名容器通常是包含完整记录的数据绑定控件的最小组成部分,如 GridView控件中的一行。因此,
只能对数据绑定控件的模板内的绑定使用 Eval方法。
Eval方法以数据字段的名称作为参数,从数据源的当前记录返回一个包含该字段值的字符串。可以提供
第二个参数来指定返回字符串的格式,该参数为可选参数。字符串格式参数使用为 String类的 Format
方法定义的语法。
使用 Bind方法
Bind方法与 Eval方法有一些相似之处,但也存在很大的差异。虽然可以像使用 Eval方法一样使用 Bin
d方法来检索数据绑定字段的值,但当数据可以被修改时,还是要使用 Bind方法。
在 ASP.NET中,数据绑定控件(如 GridView、DetailsView和 FormView控件)可自动使用数据源
控件的更新、删除和插入操作。例如,如果已为数据源控件定义了 SQLSelect、Insert、Delete和 Up
date语句,则通过使用 GridView、DetailsView或 FormView控件模板中的 Bind方法,就可以使控
件从模板中的子控件中提取值,并将这些值传递给数据源控件。然后数据源控件将执行适当的数据库命令。
出于这个原因,在数据绑定控件的 EditItemTemplate或 InsertItemTemplate中要使用 Bind函数。
Bind方法通常与输入控件一起使用,例如由编辑模式中的 GridView行所呈现的 TextBox控件。当数
据绑定控件将这些输入控件作为自身呈现的一部分创建时,该方法便可提取输入值。
Bind方法采用数据字段的名称作为参数,从而与绑定属性关联,如下面的示例所示:
<EditItemTemplate>
<table>
<tr>
<tdalign=right>
<b>Employee ID:</b>
</td>
<td>
<%# Eval("EmployeeID") %>
</td>
</tr>
<tr>
<tdalign=right>
<b>First Name:</b>
</td>
<td>
评论0
最新资源