2012-12-24 53 views
0

我有一些嵌套中继器的问题。我有以下标记asp.net嵌套中继器

<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

您需要在主中继器的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(); 
}