如何在 ItemTemplate 中设置 Visible 属性?
<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。出于某种原因,该表达式的计算永远不会为真。如果我将其更改为 !=
而不是 ==
,它将始终为 true。这让我相信 Eval("available")=="Y"
根本没有按预期进行评估。
<asp:TemplateField HeaderText="Audio">
<ItemTemplate>
<asp:Image ID="playImage" runat="server"
ImageUrl="~/images/nextpg.gif"
Visible='<%# (Eval("available")=="Y") ? true : false %>' />
</ItemTemplate>
</asp:TemplateField>
In my query I am returning the "available" column which is populated with a letter of Y or N. For some reason the evaluation of this expression is never true. If I change it to !=
instead of ==
it will always be true. That leads me to believe the Eval("available")=="Y"
is simply not evaluating as expected.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
经过一番折腾后,这终于奏效了:
问题似乎是您不能使用
==
,而是必须使用String.Equals()
方法。我不确定为什么,但事情就是这样。After much messing around, this finally worked:
The issue seems to be that you can't use
==
but instead you must use theString.Equals()
method. I'm not sure why but that's just the way it is.