在网格视图中,我们可以使用
<%#Eval%>
或 <%#Bind%>
来输出来自数据库的值。它们之间有什么区别?<%#Eval%>
或 <%#Bind%>
来输出来自数据库的值。它们之间有什么区别?Eval进行单向绑定,而Bind进行双向绑定。
使用Eval绑定值时,该值为只读的,您只能查看数据。
如果使用Bind绑定值,则对值所做的更改也会反映在数据库中。
您可以参考stackoverflow上类似的帖子:ASP.NET中<%# Bind("") %>和<%# Eval("") %>之间的区别是什么?
eval是单向的,bind是双向的。如果您不想处理回传的数据,eval就可以胜任。
eval
和 bind
的主要区别在于,eval
是只读的,我们无法更改数据库中的内容。而使用 bind
时,我们可以对数据库进行一些更改。<asp:ListView ID="listview1" runat="server">
<ItemTemplate>
<%--you can do this--%>
<asp:Label ID="label1" runat="server" Text="<%#Bind('xx') %>"></asp:Label>
<%--you can do this--%>
<asp:Label ID="label2" runat="server" Text="<%#Eval('xx') %>"></asp:Label>
<div>
<%--WILL CAUSE AN ERROR--%>
"<%#Bind('xx') %>"
<%--you can do this--%>
"<%#Eval('xx') %>"
</div>
</ItemTemplate>
</asp:ListView>
Eval和Bind函数用于将数据库中的数据绑定到DataBound控件内部的控件,例如GridView、DetailsView、Repeater、DataList等。
Eval和Bind之间的区别在于,Eval函数用于将数据绑定到DataBound控件内部的控件,但它无法将值更新回数据库。
另一方面,Bind函数可用于将数据绑定到DataBound控件内部的控件,并且它也可以将值更新回数据库。
Eval
和Bind
,例如插入(insert)
, 更新(update)
,删除(delete)
以及选择(select)
。因为我已经在两种情况下都使用过,并且都正常工作。