Тройной встроенный ASP.NET в контроллере Repeater

Представьте, что у меня есть кнопка ссылки под названием "readMore" в ItemTemplate повторителя, и я хочу установить display: none; для этого, когда содержание каждого поста меньше, чем, скажем, 2000 символов.

<asp:repeater id="postsRepeater" runat="server" 
  onitemdatabound="postsRepeater_ItemDataBound">
    <ItemTemplate>
            <a class="button" href="#" runat='server' id='more'>Read More</a>
    </ItemTemplate>
</asp:repeater>

В PHP вы можете просто написать что-то вроде:

<?php echo (contentLength < 2000 ? 'display: none;' : ''); ?>

Тем не менее, я проверил этот код, и он выдал и ошибка:

<%= Eval("Content").Length < 2000 ? "display: none;" : string.Empty %>

Можно ли записать троичный встроенный ASP.NET в элемент управления Repeater? Как?

1 ответ

Решение

Это не проблема троичного оператора; это проблема элементов управления Databound, потому что вы должны использовать # вместо =,

Использовать этот

<%# Eval("Content").ToString().Length < 2000 ? "display: none;" : string.Empty %>

Вместо

<%= Eval("Content").ToString().Length < 2000 ? "display: none;" : string.Empty %>
Другие вопросы по тегам