J'ai une part WebPart Sharepoint qui charge un contrôle utilisateur personnalisé. Le contrôle utilisateur contient un répéteur qui à son tour contient plusieurs LinkButtons.ASP.NET - Ajout d'un gestionnaire d'événements à LinkButton dans Repeater dans un appel RenderContent
Dans l'appel RenderContent dans le Webpart j'ai un code pour ajouter des gestionnaires d'événements:
ArrayList nextPages = new ArrayList();
//populate nextPages ....
AfterPageRepeater.DataSource = nextPages;
AfterPageRepeater.DataBind();
foreach (Control oRepeaterControl in AfterPageRepeater.Controls)
{
if (oRepeaterControl is RepeaterItem)
{
if (oRepeaterControl.HasControls())
{
foreach (Control oControl in oRepeaterControl.Controls)
{
if (oControl is LinkButton)
{
((LinkButton)oControl).Click += new EventHandler(PageNavigateButton_Click);
}
}
}
}
}
La PageNavigateButton_Click fonction est jamais appelée cependant. Je peux le voir être ajouté en tant que gestionnaire d'événement dans le débogueur cependant.
Des idées? Je suis perplexe comment faire cela.
J'ai un peu dérangé le code après avoir lu les suggestions des gens. J'essaie d'ajouter les gestionnaires d'événements maintenant dans la fonction CreateChildControls() mais ils ne sont toujours pas déclenchés. Merci pour toute l'aide jusqu'à présent, il est apprécié –
Pour ceux qui voient cela en retard dans le jeu. N'utilisez pas CreateChildControls ... C'est encore trop tard dans le cycle. Au lieu de cela, remplacez le gestionnaire OnInit pour créer tous vos contrôles dynamiques. – NotMe