asp.net2.0数据绑定之Eval和Bind区别

时间:2023-01-25 18:56:07


例如:  
  <EditItemTemplate> 

  <asp:Label   ID="CityIDLabel1"   runat="server"   Text='<%#   Eval("CityID")   %>'></asp:Label>   
   <asp:TextBox   ID="CityTextBox"   runat="server"   Text='<%#   Bind("City")   %>'>   
   </asp:TextBox>  
  </EditItemTemplate>  
   
  Eval是asp.net1.1中常用的绑定语法,它是“单向”的,即绑定时把数据源上相应的值赋到该控件上,Eval的任务就完成了  
  而Bind所谓的“双向”就是:在绑定时,把数据源上相应的值赋到该控件上,并且,在提交时,自动提取用户在该控件上输入的值。

 

又例:

Eval:绑定的是只读数据的显示;Bind:可以绑定只读数据也可以绑定更新数据,Bind方法还把字段和控件的绑定属性联系起来,使得数据控件(比如GridView等)的Update、Insert和Delete等方法可以使用这种联系来作出相应的处理。

    Eval 和 Bind绑定的数据在<%#  %> 显示, 若对要显示的数据作修改或者操作也在<%# %> 中,例如:

   1, 对显示的字符串作字符显示:<%# (Eval("Address")).ToString().SubString(0,10)%>,显示10位数的地址。

   2, 对显示的信息作判断:<%# (Eval("if_delete")).ToString == "yes" ?"已删除":"未删除"%>