0

我对嵌套中继器有一些问题。我有以下标记

<asp:UpdatePanel ID="upSupportDownloads" runat="server" UpdateMode="Conditional">
    <ContentTemplate>
        <div class="five-col">
            <asp:Repeater ID="rep1" runat="server">
                <ItemTemplate>
                    <asp:Repeater ID="rep2" runat="server">
                        <ItemTemplate></ItemTemplate>
                    </asp:Repeater>
                </ItemTemplate>
            </asp:Repeater>  
...

这不是一个工作代码,它是理解我的结构的一个例子。我无法从后面的代码访问 rep2。我可以打电话给rep1。但是 rep2 对我来说是不可见的。

4

1 回答 1

1

您需要在主中继器的 OnItemDataBound 事件中找到嵌套中继器。像这样:

if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
     DataRowView row = (DataRowView)e.Item.DataItem;

     Repeater nestedRepeater = e.Item.FindControl("NestedRepeater") as Repeater;
     nestedRepeater.DataSource = getMyData();
     nestedRepeater.DataBind();
 }
于 2012-12-24T12:47:55.930 回答