在asp.net中< #eval和< #bind之间有什么区别?

时间:2009-11-25 12:42:32

标签: asp.net

在gridview中,我们可以使用<%#Eval%><%#Bind%>从数据库输出值。他们之间有什么区别?

7 个答案:

答案 0 :(得分:28)

EVal是单向绑定,绑定是双向的

如果使用Eval绑定值,则它类似于只读。您只能查看数据。

如果使用Bind绑定值,并且如果对值进行某些更改,它也会反映在数据库上

你可以在堆栈溢出上看到类似的帖子

What is the difference between <%# Bind("") %> and <%# Eval("") %> in ASP.NET?

答案 1 :(得分:5)

eval是一种方式,bind是双向的。如果您不想处理回发的数据,eval将完成这项工作。

答案 2 :(得分:2)

evalbind之间的主要区别是eval是只读的,我们无法更改数据库事件eval

使用bind时,我们可以对数据库进行一些更改。

答案 3 :(得分:1)

eval和bind之间的主要区别是eval是只读的,我们无法更改数据库的事物eval。

使用bind时,我们可以应用一些更改。

如果您不想处理回发的数据,eval将轻松完成工作。

答案 4 :(得分:1)

他们说Eval是单向的,Bind是双向的 但是一个更重要的区别绑定必须分配给服务器端控件的属性( runat =“server”),同时可以将Eval分配给服务器端或客户端控件 < / p>
<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)

我认为两者都没有区别。我们可以对EvalBindinsert以及update等所有操作使用deleteselect。 因为我同时使用它们,它在两种情况下都能正常工作。