Как перебрать коллекцию в модели в неупорядоченный список? - PullRequest
0 голосов
/ 06 января 2012

Я использую UI Pattern Framework.Framework позволяет мне получить доступ к данным в виде модели на клиенте (аналогично MVC) <%# Model.Widget %>.Я привязываюсь к элементу управления FormView, используя операторы Eval.Попытка выяснить, как перебрать коллекцию в модели в неупорядоченный список.

Если одним из свойств виджета является строковый массив, как я могу выполнить итерацию через свойство для элемента виджета?Это то, что у меня так далеко:

<ul style="list-style-type: none; margin-left: 0px">
    <% var services = Eval("Services") as List<string>; // Getting exception here
        foreach (var service in services)
        { %>
            <li><%= service %></li>    
     <% } %>
</ul>

Очевидно, это неправильно.Я получаю InvalidOperationException, потому что я привязываю данные к переменной с Eval вместо элемента в ItemTemplate элемента управления.

Заранее спасибо!

Ответы [ 2 ]

0 голосов
/ 09 января 2012

Вот как я это сделал, используя Repeater Control.

<ul>
    <asp:Repeater ID="rptServices" runat="server" 
        DataSource='<%# Eval("Services") %>'>
             <ItemTemplate>
                  <li><%# Container.DataItem %></li>        
             </ItemTemplate>
    </asp:Repeater>
</ul>

Назначьте свойство как источник данных, используя метод Eval связанного элемента управления. Затем назначьте DataItem повторителя для ListItem в ItemTemplate.

0 голосов
/ 07 января 2012

Я экспериментировал с WebformsMVP всего пару месяцев назад, но насколько я помню, что-то вроде

foreach (var service in Model.Services)

должно работать.Я думаю, вам здесь не нужна функция Eval.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...