<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"
根本没有按预期进行评估。
答案 0 :(得分:0)
经过多次搞乱后,这终于奏效了:
<%# ((String)Eval("available")).Equals("Y") ? true : false %>
问题似乎是您无法使用==
,而是必须使用String.Equals()
方法。我不确定为什么但这就是它的方式。