2

私はこのコードを持っています:

<asp:Repeater id="repeaterCategories" runat="server">
    <ItemTemplate>
        <div class="categorie-item">
            ...

            <asp:Repeater id="repeaterSubCategories" runat="server">
                <ItemTemplate>
                    ...
                </ItemTemplate>
            </asp:Repeater>
        </div>                    
    </ItemTemplate>
</asp:Repeater>

であり、 でrepeaterSubCategoriesある必要があります。そのため、(最初のリピーターの繰り返しごとに) サブカテゴリのリストを動的にバインドする必要があります。repeaterCategories.SubCategoriesrepeaterCategories

私はそれを行うことができますか?どのように?

4

1 に答える 1

6

次のようなネストされたリピーターがある場合:

<asp:Repeater ID="Repeater1" runat="server" OnItemDataBound="Repeater1_ItemDataBound">
    <ItemTemplate>
        <asp:Repeater ID="Repeater2" runat="server"></asp:Repeater>
    </ItemTemplate>
</asp:Repeater>

これを使用してバインドできます。

protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
    var data = ((MyClass)e.Item.DataItem).Subcategories;
    var repeater2 = (Repeater)e.Item.FindControl("Repeater2");
    repeater2.DataSource = data;
    repeater2.DataBind();
}
于 2013-04-23T13:28:27.323 に答える