Как установить атрибут Visible в ItemTemplate? - PullRequest
1 голос
/ 10 октября 2009
<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 голосов
/ 12 октября 2009

После долгих раздумий это наконец сработало:

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

Кажется, проблема в том, что вы не можете использовать ==, но вместо этого вы должны использовать метод String.Equals(). Я не уверен, почему , но так оно и есть.

...