C# 在另一个中继器内动态绑定一个中继器?

C# 在另一个中继器内动态绑定一个中继器?,c#,data-binding,repeater,C#,Data Binding,Repeater,我有以下代码: <asp:Repeater id="repeaterCategories" runat="server"> <ItemTemplate> <div class="categorie-item"> ... <asp:Repeater id="repeaterSubCategories" runat="server"> <It

我有以下代码:

<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.SubCategories
,对于每个
repeaterCategories
。因此,我必须动态绑定(对于每个第一次重复迭代)子类别列表


我能做吗?如何操作?

如果您有这样的嵌套中继器:

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

嗯,但是我如何才能为每个
Repeater2
绑定
Repeater1.子类别
?编辑了我的答案,包括如何将
e
数据项
强制转换到您的类和子类别。(Repeater)e.Item.FindControl(“Repeater2”);重要vs((中继器)中继器1.FindControl(“中继器2”):)谢谢。这太棒了,但是如果子中继器的数据中需要父中继器的数据表(例如)呢?您是否建议将可在ItemDataBound中使用的DataTable设置为全局?
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();
}