在asp.net中使用Eval()有什么用

时间:2009-11-24 22:08:52

标签: asp.net

ASP.NET中Eval()的用途是什么?

3 个答案:

答案 0 :(得分:32)

绑定数据绑定控件时,可以使用eval()函数计算数据源中行的字段。

例如,您可以像这样在gridview中添加一列:

<asp:BoundField DataField="YourFieldName" />

另外,这是eval的方式:

<asp:TemplateField>
<ItemTemplate>
        <asp:Label ID="lbl" runat="server" Text='<%# Eval("YourFieldName") %>'>
        </asp:Label>
</ItemTemplate>
</asp:TemplateField>

看起来有点复杂,但它很灵活,因为你可以使用eval()函数设置控件的任何属性:

<asp:TemplateField>
    <ItemTemplate>
        <asp:HyperLink ID="HyperLink1" runat="server" 
          NavigateUrl='<%# "ShowDetails.aspx?id="+Eval("Id") %>' 
          Text='<%# Eval("Text", "{0}") %>'></asp:HyperLink>
    </ItemTemplate>
</asp:TemplateField>

答案 1 :(得分:30)

Eval用于绑定到设置为只读的UI项(例如:标签或只读文本框),即Eval用于单向绑定 - 用于从数据库读取UI字段。

它通常用于后期绑定数据(从start开始不知道),并且通常绑定到包含整个记录的数据绑定控件的最小部分。 Eval方法采用数据字段的名称,并返回一个字符串,该字符串包含数据源中当前记录中该字段的值。您可以提供可选的第二个参数来指定返回字符串的格式。字符串格式参数使用为String类的Format方法定义的语法。

答案 2 :(得分:-2)

IrishChieftain并没有真正解决这个问题,所以这是我的看法:

eval()应该用于运行时未知的数据。无论是用户输入(危险)还是其他来源。