2010-12-17 19 views
6

erkannt Ich habe eine geschachtelte Repeater eingerichtet, aber das Kind Repeater-Steuerelement wird nicht im Code dahinter erkannt. Es wird nicht einmal zur Designer-Datei hinzugefügt. Ich habe das auf einer aspx und einer ascx Seite versucht, aber beide gibt das gleiche Problem.Nested Repeater wird nicht im Code hinter

mit dieser auf der Seite der Code hinter erkennt nur die RepeaterParent aber nicht RepeaterChild.

Kann mir hier jemand helfen? Vielen Dank!

Antwort

10

Wie jedes andere Steuerelement, das in einem Repeater- (oder Vorlagen-) Steuerelement verwendet wird, müssen Sie das Steuerelement mithilfe von FindControl abrufen.

also in Ihren Artikeldaten binden Ereignishandler für die Eltern, würden Sie tun:

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

+1 19 Sekunden schneller :) –

4

Die RepeaterChild stehen dann zur Verfügung, wenn Sie FindControl("RepeaterChild") auf dem übergeordneten Repeater verwenden, denke ich. Kann mich nicht an die genaue Syntax erinnern.

Beachten Sie auch, dass die Methode FindControl auch den Kontext des aktuellen Elements des übergeordneten Repeaters übernimmt, da sich der von Ihnen angegebene Name wiederholt. Namenscontainer arbeiten im Hintergrund, um eine eindeutige Benennung zu ermöglichen, aber es ist manchmal schwierig, sie zu verfolgen.