Mam poniżej następujący wzmacniacz i próbuję znaleźć LblA w kodzie za i nie powiedzie się. Poniżej znaczników są próby Podjąłem:Nie można znaleźć kontroli w ramach wzmacniacza asp.net?
<asp:Repeater ID="rptDetails" runat="server">
<HeaderTemplate>
<table>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><strong>A:</strong></td>
<td><asp:Label ID="lblA" runat="server"></asp:Label>
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
</table>
Najpierw próbowałem,
Label lblA = (Label)rptDetails.FindControl("lblA");
ale lblA NULL
Następnie próbowałem,
Label lblA = (Label)rptDetails.Items[0].FindControl("lblA");
ale Pozycje było 0 mimo że wzmacniacz m zawiera 1 sztukę szablonów
jestem trochę zdezorientowany. To, co faktycznie robię, to kliknięcie linku Wyświetl szczegóły na 1 stronie, przeniesie mnie do szczegółowego widoku na innej stronie, która ma repeater i na page_load, próbuję zlokalizować lblA – Xaisoft
Edytowany. Mam nadzieję, że wyjaśnia to nieco więcej. –
Ok, skończyło się to na przeniesieniu zmiennej DataTable na najwyższy poziom klasy. Następnie stworzyłem ItemDataBoundEvent i tam sprawdziłem lblA we wzmacniaczu, a jeśli go znalazł, ustaw go na tekst, który otrzymałem z rzędu w DataTable. Czy mam rację w moim rozumieniu tego? Dzięki – Xaisoft