您的位置:首页 > 编程语言 > ASP

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

2009-03-18 13:11 686 查看
例如:

<EditItemTemplate>

<asp:Label ID="CityIDLabel1" runat="server" Text='<%# Eval("CityID") %>'></asp:Label>

<asp:TextBox ID="CityTextBox" runat="server" Text='<%# Bind("City") %>'>

</asp:TextBox>

</EditItemTemplate>

<asp:TemplateField HeaderText="单据类型">

<ItemTemplate>

<asp:Label ID="lblBankId" runat="server" Text='<%# GetTypeByTypeID( Eval("TemplateID").ToString()) %>'></asp:Label>

<asp:HiddenField ID="hidAccountId" runat="server" Value='<%# Bind("ID") %>' />

</ItemTemplate>

</asp:TemplateField>

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" ?"已删除":"未删除"%>

===================================================================

后记:如果你要对数据进行很多个性化的处理建议您使用Eval()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: