1
<asp:TemplateField HeaderText="Audio">
    <ItemTemplate>
        <asp:Image ID="playImage" runat="server"
            ImageUrl="~/images/nextpg.gif"
            Visible='<%# (Eval("available")=="Y") ? true : false %>' />
    </ItemTemplate>
</asp:TemplateField>

在我的查询中,我返回了填充有字母 Y 或 N 的“可用”列。由于某种原因,此表达式的评估永远不会正确。如果我将其更改为!=而不是==它将始终是正确的。这让我相信这Eval("available")=="Y"根本没有按预期进行评估。

4

1 回答 1

0

经过一番折腾,终于奏效了:

<%# ((String)Eval("available")).Equals("Y") ? true : false %>

问题似乎是您不能使用==,而是必须使用该String.Equals()方法。我不知道为什么,但事实就是这样。

于 2009-10-12T14:45:11.173 回答