2012-12-24 90 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(); 
}