0

UI パターン フレームワークを使用しています。フレームワークを使用すると、クライアントでモデルの形式でデータにアクセスできます (MVC に似ています) <%# Model.Widget %>。Eval ステートメントを使用して FormView コントロールにバインドしています。モデル内のコレクションを順序付けられていないリストに反復する方法を見つけようとしています。

ウィジェットのプロパティの 1 つが文字列配列の場合、ウィジェット アイテムのプロパティを反復処理するにはどうすればよいですか? これは私がこれまでに得たものです:

<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>

明らかに、これは間違っています。コントロールの ItemTemplate の項目ではなく、Eval を使用して変数にデータバインドしているため、InvalidOperationException が発生しています。

前もって感謝します!

4

2 に答える 2

0

これが、リピーターコントロールを使用して動作させる方法です。

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

バインドされたコントロールのEvalメソッドを使用して、プロパティをデータソースとして割り当てます。次に、リピーターのDataItemをItemTemplateのListItemに割り当てます。

于 2012-01-09T17:34:32.067 に答える