asp.net嵌套中继器

时间:2012-12-24 12:40:13

标签: repeater invisible

嵌套转发器存在一些问题。我有以下标记

<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对我来说是不可见的。

1 个答案:

答案 0 :(得分:1)

您需要在主转发器的ItemDataBound事件中找到嵌套转发器。像这样:

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();
 }