为什么我不能在ListView中的if条件中使用Eval()?

时间:2013-08-12 15:32:41

标签: c# asp.net

设置如下:

<asp:ListView runat="server" ID="lvArticles">
    <LayoutTemplate>
        <div runat="server" id="itemPlaceholder" />
    </LayoutTemplate>
    <ItemTemplate>
        <% if (Eval("Document") != null) { %>
            <a href="/Documents/" + <%# Eval("Document.Id") %> + ".pdf">
                <%# Eval("Document.Name") %>
            </a>
        <% } %>
    </ItemTemplate>
</asp:ListView>

我收到以下错误:

Databinding methods such as Eval(), XPath(), and Bind() can only be used in the context of a databound control.

为什么在这样的条件下不允许像Eval()这样的数据绑定方法? ListView不是数据绑定控件吗?

1 个答案:

答案 0 :(得分:1)

因为#内的<%# Eval("value") %>告诉服务器进行数据绑定。