J'ai un contrôle Repeater qui charge les instances d'un contrôle personnalisé que j'ai construit. Ce répéteur ressemble à ceci:ASP.NET Chargement d'un contrôle utilisateur dans un répéteur
<asp:Repeater ID="myRepeater" runat="server" OnLoad="myRepeater_Load">
<HeaderTemplate>
<table border="0" cellpadding="0" cellspacing="0">
</HeaderTemplate>
<ItemTemplate>
<tr><td><my:CustomControl ID="myControl" runat="server"
OnLoad="myControl_Load" />
</td></tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
Je lie au répéteur par le gestionnaire d'événements myRepeater_Load
. Mon contrôle personnalisé est utilisé pour rendre un élément dans le répéteur. À cause de cela, j'essaie de définir des propriétés sur le contrôle personnalisé au cours du gestionnaire d'événements myControl_Load
. Cependant, je ne sais pas comment accéder à l'élément actuel pendant l'événement myControl_Load
.
Y a-t-il un moyen de transmettre l'élément actuel ou d'accéder à l'élément actuel pendant l'événement myControl_Load
? Si c'est le cas, comment?
Merci,
Mais comment puis-je accéder à mon contrôle personnalisé de l'événement OnItemDataBound alors? – user70192
L'objet args d'événement vous permettra d'accéder à votre contrôle via e.Item.FindControl() - mais vous devrez le lancer. Personnellement, je méprise OnItemDataBound et l'éviter à tout prix – Eric
@ Eric, que recommanderiez-vous à la place? Je voudrais connaître l'alternative. Merci –