Тройной встроенный 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 %>