如何在 ItemTemplate 中设置 Visible 属性?

发布于 2024-08-08 04:39:21 字数 494 浏览 4 评论 0原文

<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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

凉宸 2024-08-15 04:39:21

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

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

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

After much messing around, this finally worked:

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

The issue seems to be that you can't use == but instead you must use the String.Equals() method. I'm not sure why but that's just the way it is.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文