У меня есть ASP: Repeater, мне нужно использовать цикл foreach, используя механизм просмотра ASP.NET
Но я столкнулся с проблемой.
Вот код внутри ретранслятора:
<%# cart = (CartDTO)Container.DataItem %>
<% foreach (var item in cart.Products)
{ %>
<p><%= item.Title %></p>
<% }%>
Проблема здесь в том, что ничего не выдает. Я нашел проблему. Я должен использовать <%#
вместо <%=
который будет отображать его. Но проблема в том, что <% # не работает в ASP: Repeater. Элемент становится "Не удается разрешить символ" Элемент ".
Есть ли какие-либо решения для этого?
Я не думаю, что повторитель легко поймет такой фрагмент внутри шаблона элемента. В общем случае код С# в разметке страницы ASP.NET не должен использоваться для вещей, более сложных, чем "выводить это значение на страницу".
Вам лучше создать вложенный повторитель для такой задачи:
<asp:Repeater runat="server" DataSource='<%# ((CartDTO)Container.DataItem).Products %>'>
<ItemTemplate>
<p> <%# Eval("Title") %></p>
</ITemTemplate>
</asp:Repeater>