Использование foreach с движком представления ASP.NET внутри ASP: Repeater не работает

1

У меня есть ASP: Repeater, мне нужно использовать цикл foreach, используя механизм просмотра ASP.NET

Но я столкнулся с проблемой.

Вот код внутри ретранслятора:

           <%# cart = (CartDTO)Container.DataItem %>

                      <% foreach (var item in cart.Products)
                       { %> 
                        <p><%= item.Title %></p>
                      <% }%>

Проблема здесь в том, что ничего не выдает. Я нашел проблему. Я должен использовать <%# вместо <%= который будет отображать его. Но проблема в том, что <% # не работает в ASP: Repeater. Элемент становится "Не удается разрешить символ" Элемент ".

Есть ли какие-либо решения для этого?

Теги:
asprepeater

1 ответ

3
Лучший ответ

Я не думаю, что повторитель легко поймет такой фрагмент внутри шаблона элемента. В общем случае код С# в разметке страницы ASP.NET не должен использоваться для вещей, более сложных, чем "выводить это значение на страницу".

Вам лучше создать вложенный повторитель для такой задачи:

<asp:Repeater runat="server" DataSource='<%# ((CartDTO)Container.DataItem).Products %>'>
    <ItemTemplate>
        <p> <%# Eval("Title") %></p>
    </ITemTemplate>
</asp:Repeater>
  • 0
    Спасибо, Использование вложенного повторителя прекрасно работает!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню