Ich habe den folgenden Repeater unten und ich versuche, IblA in Code zu finden, und es schlägt fehl. Unterhalb der Markup sind die Versuche, die ich gemacht habe:Kann die Steuerung in ASP.net Repeater nicht finden?
<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>
Zuerst habe ich versucht,
Label lblA = (Label)rptDetails.FindControl("lblA");
aber LBLA war null
Dann habe ich versucht,
Label lblA = (Label)rptDetails.Items[0].FindControl("lblA");
aber Artikel war 0, obwohl m Repeater enthält 1 ItemTemplate
Ich bin ein wenig verwirrt. Was ich gerade mache ist, wenn ich auf einen Link Details anzeigen auf 1 Seite klicke, es bringt mich zu einer Detailansicht auf einer anderen Seite, die den Repeater hat und in page_load versuche ich lblA – Xaisoft
Edited zu lokalisieren. Hoffentlich erklärt das ein bisschen mehr. –
Ok, was ich getan habe, war das Verschieben einer DataTable-Variable auf die oberste Ebene der Klasse. Dann habe ich das ItemDataBoundEvent erstellt und dort nach dem lblA im Repeater gesucht und wenn es gefunden wurde, setze es auf einen Text, den ich von einer Zeile in der DataTable zurückbekommen habe. Habe ich recht, wenn ich das verstehe? Danke – Xaisoft