在gridview中,我们可以使用<%#Eval%>
或<%#Bind%>
从数据库输出值。他们之间有什么区别?
答案 0 :(得分:28)
EVal是单向绑定,绑定是双向的
如果使用Eval绑定值,则它类似于只读。您只能查看数据。
如果使用Bind绑定值,并且如果对值进行某些更改,它也会反映在数据库上
你可以在堆栈溢出上看到类似的帖子
What is the difference between <%# Bind("") %> and <%# Eval("") %> in ASP.NET?
答案 1 :(得分:5)
答案 2 :(得分:2)
eval
和bind
之间的主要区别是eval
是只读的,我们无法更改数据库事件eval
。
使用bind
时,我们可以对数据库进行一些更改。
答案 3 :(得分:1)
eval和bind之间的主要区别是eval是只读的,我们无法更改数据库的事物eval。
使用bind时,我们可以应用一些更改。
如果您不想处理回发的数据,eval将轻松完成工作。
答案 4 :(得分:1)
<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>
答案 5 :(得分:0)
Eval和Bind函数用于将数据库中的数据绑定到DataBound控件(如GridView,DetailsView,Repeater,DataList等)中存在的控件。
Eval和Bind之间的区别在于Eval函数用于将数据绑定到DataBound控件内的控件,但无法将值更新回数据库。
另一方面,可以使用Bind函数将数据绑定到DataBound控件中的控件,并且可以将值更新回数据库。
答案 6 :(得分:-1)
我认为两者都没有区别。我们可以对Eval
,Bind
和insert
以及update
等所有操作使用delete
和select
。
因为我同时使用它们,它在两种情况下都能正常工作。