2010-12-17 19 views
6

Mam skonfigurowany regenerator zagnieżdżony, ale kontrola podrzędnego wzmacniacza nie jest rozpoznawana w kodzie z tyłu. Nie jest nawet dodawany do pliku projektanta. Próbowałem tego na aspx i stronie ascx, ale oba daje ten sam problem.Zagnieżdżony Repeater nie jest rozpoznawany w kodzie za

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

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

    </ItemTemplate> 
</asp:Repeater> 

z tym na stronie kod rozpoznaje tylko RepeaterParent, ale nie RepeaterChild.

Czy ktoś może mi pomóc? Wielkie dzięki!

Odpowiedz

10

Tak jak w przypadku każdego innego kontrolera używanego w ramach kontrolera przemiennika (lub szablonu), należy pobrać formant, używając FindControl.

Tak, w punkcie obsługi zdarzeń wiążą dane dla rodziców, byś zrobił:

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

+1 19 sekund szybciej :) –

4

RepeaterChild będzie dostępna podczas korzystania FindControl("RepeaterChild") na peryferyjnym dominującej myślę. Nie pamiętam dokładnej składni.

Należy również pamiętać, że metoda FindControl będzie również uwzględniać kontekst bieżącego elementu nadajnika macierzystego, ponieważ określona nazwa będzie powtarzana. Nazwanie kontenerów działa w tle, aby zapewnić unikalne nazewnictwo, ale czasami trudno je śledzić.

Powiązane problemy