0

我正在使用 UI 模式框架。该框架允许我在客户端以模型的形式访问数据(类似于 MVC)<%# Model.Widget %>。我正在使用 Eval 语句绑定到 FormView 控件。试图弄清楚如何通过模型中的集合迭代到无序列表。

如果小部件的属性之一是字符串数组,我如何遍历小部件项的属性?这是我到目前为止所得到的:

<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 中的项目。

提前致谢!

4

2 回答 2

0

几个月前我才尝试过 WebformsMVP,但据我所知,

foreach (var service in Model.Services)

应该管用。我认为您在这里不需要 Eval 功能。

于 2012-01-06T20:01:16.797 回答
0

这是我如何使用中继器控件使其工作的。

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

使用绑定控件的 Eval 方法将该属性分配为 DataSource。然后将Repeater的DataItem赋值给ItemTemplate中的ListItem。

于 2012-01-09T17:34:32.067 回答