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

本文关键字:Eval 条件 if 不能 ListView 内的 为什么 | 更新日期: 2023-09-27 18:27:17

使用这样的设置:

<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.

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

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

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