2010-12-17 22 views
6

我有一個嵌套中繼器設置,但子代中繼器控制不被識別在後面的代碼中。它甚至沒有被添加到設計器文件中。我已經在aspx和ascx頁面上嘗試了這一點,但都給出了相同的問題。嵌套中繼器不被識別在後面的代碼

<asp:Repeater ID="RepeaterParent" runat="server"> 
    <ItemTemplate> 

     <asp:Repeater ID="RepeaterChild" runat="server"> 
     </asp:Repeater> 

    </ItemTemplate> 
</asp:Repeater> 

在此頁面上,後面的代碼只能識別RepeaterParent而不識別RepeaterChild。

任何人都可以幫助我嗎? 非常感謝!

回答

10

像中繼器(或模板)控件中使用的任何其他控件一樣,您需要使用FindControl檢索控件。

因此,在父的項目數據綁定的事件處理程序,你會怎麼做:

var childRepeater = RepeaterParent.FindControl("RepeaterChild") as Repeater; 
+0

+1 19秒快:) – 2010-12-17 13:32:19

4

RepeaterChild當你在父中繼我想用FindControl("RepeaterChild")將訪問。不記得確切的語法。

另請注意,FindControl方法也將採用父轉發器當前項的上下文,因爲您指定的名稱將重複。命名容器在後臺執行一些工作以提供獨特的命名,但有時很難跟蹤。