Bind和Eval的区别详解

时间:2010-03-17 16:57:22  来源:第二电脑网  作者:第二电脑网

  第二电脑网导读:是静态(只读)方法,该方法采用数据字段的值作为参数并将其作为字符串返回。Bind 方法支持读/写功能,可以检索数据绑定控件的值并将任何更改提交回数据库。      使用 Eval 方法   Eval 方法可计算数据绑定控件(如 GridView、DetailsView 和 FormView 控件)的模板中的后期绑定数据表达式。在运行时,Eval 方法调用 DataBinder 对象的...
  正文: eval()方法在运行时使用反射执行后期绑定计算,因此与标准的ASP/ target=_blank class=infotextkey>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 方法采用数据字段的名称作为参数,从而与绑定属性关联,如下面的示例所示:
  <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 语法绑定的每个控件属性值都会被提取出来,并传递给数据源控件以执行更新操作。

Bind和Eval的区别详解》由第二电脑网原创提供,转载请注明:http://www.002pc.com/master/College/Programming/aspnet/13280.html


关键字:

关于《Bind和Eval的区别详解》文章的评论

站内搜索: 高级搜索

热门搜索: Windows style 系统 tr IP QQ CPU 安装 function 注册 if td