Eval与Bind的区别

时间:2023-03-08 21:25:45

bind和eval都是ASP.NET中的函数,而且都有对将数据获取到Html中的功能。那么,它们在使用的时候有什么区别呢?在我们编程的时候,在某种情况下,用哪个函数更加合适呢?

区别

用法:

1. bind绑定表达式:

一般数据绑定:

<%# Bind("字段的名字")>

带数据格式的数据绑定:

<%#
Bind("字段名称","{0:格式字符串}")%>

2.eval绑定表达式:

         一般数据绑定
         <%# Eval("字段的名字")>
         带格式的数据绑定
         <%# EVal("字段名称","{0:格式字符串}")%>

带格式字符串的数据绑定:

<%# Eval("字段名称","home.aspx?id={0}")%>

数据读写:

bind:可更新的,双向绑定

eval:只读的,单向绑定

使用:

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

Bind 方法与 Eval 方法有一些相似之处,但也存在很大的差异。虽然可以像使用 Eval 方法一样使用 Bind 方法来检索数据绑定字段的值,但当数据可以被修改时,还是要使用 Bind 方法。 在 ASP.NET 中,数据绑定控件(如 GridView、DetailsView 和 FormView 控件)可自动使用数据源控件的更新、删除和插入操作。