Eval方法与Bind方法比较
来源:互联网 发布:网络文明用语 编辑:程序博客网 时间:2024/05/21 03:24
使用 Eval 方法
Eval 方法可计算数据绑定控件(如 GridView、DetailsView 和 FormView 控件)的模板中的后期绑定数据表达式。在运行时,Eval 方法调用 DataBinder 对象的 Eval 方法,同时引用命名容器的当前数据项。命名容器通常是包含完整记录的数据绑定控件的最小组成部分,如 GridView 控件中的一行。因此,只能对数据绑定控件的模板内的绑定使用 Eval 方法。
Eval 方法以数据字段的名称作为参数,从数据源的当前记录返回一个包含该字段值的字符串。可以提供第二个参数来指定返回字符串的格式,该参数为可选参数。字符串格式参数使用为 String 类的 Format 方法定义的语法。
使用 Bind 方法
Bind 方法与 Eval 方法有一些相似之处,但也存在很大的差异。虽然可以像使用 Eval 方法一样使用 Bind 方法来检索数据绑定字段的值,但当数据可以被修改时,还是要使用 Bind 方法。
在
Bind 方法通常与输入控件一起使用,例如由编辑模式中的 GridView 行所呈现的 TextBox 控件。当数据绑定控件将这些输入控件作为自身呈现的一部分创建时,该方法便可提取输入值。
Bind 方法采用数据字段的名称作为参数,从而与绑定属性关联,如下面的示例所示:
<EditItemTemplate>
<table>
<tr>
<td align=right>
<b>Employee ID:</b>
</td>
<td>
<%# Eval("EmployeeID") %>
</td>
</tr>
<tr>
<td align=right>
<b>First Name:</b>
</td>
<td>
<asp:TextBox ID="EditFirstNameTextBox" RunAt="Server"
Text='<%# Bind("FirstName") %>' />
</td>
</tr>
<tr>
<td align=right>
<b>Last Name:</b>
</td>
<td>
<asp:TextBox ID="EditLastNameTextBox" RunAt="Server"
Text='<%# Bind("LastName") %>' />
</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 特别有用,因为数据行和数据字段通常都必须强制转换。
Eval用来显示。
Bind用来更新。
Eval 方法是静态(只读)方法,该方法采用数据字段的值作为参数并将其作为字符串返回。Bind 方法支持读/写功能,可以检索数据绑定控件的值并将任何更改提交回数据库。
eval()方法在运行时使用反射执行后期绑定计算,因此与
- Eval方法与Bind方法比较
- Eval方法与Bind方法比较
- Bind()方法与Eval()方法的区别与使用
- 数据绑定Eval方法vs.Bind方法
- Eval方法和Bind方法的区别?
- TemplateField模板中的Bind方法和Eval方法
- TemplateField模板中的Bind方法和Eval方法
- asp.net TemplateField模板中的Bind方法和Eval方法
- Bind 与 Eval?
- bind与eval
- eval 与 bind 区别
- Eval和Bind方法深入剖析(转)
- ASP.NET中的Eval和DataBinder.Eval方法 bind是双向绑定
- eval 方法
- eval 方法
- Eval 方法
- Eval与Bind的区别
- apply, call与bind方法
- Oracle中decode()函数的使用技巧
- 在Eclipse中使用JUnit4进行单元测试(高级篇)
- 引发堆栈异常的一种情况:无界递归 (续)
- 乱码转换(JFIS)
- Set-AuthenticodeSignature 帮助信息
- Eval方法与Bind方法比较
- 招聘 J2EE高手或软件外包
- linux的删除
- SAAS模式解析
- 创建 JSP 2.0 标记文件
- Jbpm流程如何实现“会签”的问题
- 远程桌面“中断”巧解决[图]
- 劳动合同法之试用期工资的算法(轉)
- RowStateDemo