如何在ItemTemplate中设置Visible属性?

时间:2009-10-09 21:55:45

标签: asp.net-2.0 templatefield

<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"根本没有按预期进行评估。

1 个答案:

答案 0 :(得分:0)

经过多次搞乱后,这终于奏效了:

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

问题似乎是您无法使用==,而是必须使用String.Equals()方法。我不确定为什么但这就是它的方式。