Déclenchement d'un événement d'un LinkButton ajouté dynamiquement

Signaler
Messages postés
2
Date d'inscription
vendredi 12 juin 2009
Statut
Membre
Dernière intervention
30 septembre 2010
-
jesusonline
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
-
Bonjours à tous,

je suis actuellement sur un problème qui me donne du fil à retordre, je m'explique:
je récupère depuis une base de données un string sous la forme suivante : nomDuDocument,typeDocument;nomDuDocument,typeDocument... pour autant de document liés dans une table de relation.
Le but est d'afficher un lien dans une GridView permettant d'ouvrir ce document (c'est la que le typeDocument rentre en jeu pour trouver sa position sur le serveur...)
Mon problème est le suivant:
je ne peux pas mettre la création des boutons dans le Page_Init ni dans le code aspx car les données sont peut être présente ou non et il peut y en avoir plusieurs (table de relation). Pour le moment j'ajoute ces LinkButton dans le RowDataBound de ma GridView mais je pense d'après moi qu'il est trop tard pour pouvoir récupérer l'événement ensuite ou alors je me trompe ?? J'ai juste besoin que l'événement du linkbutton soit déclanché...

voici comment je crée un linkbutton et je l'ajoute dans la gridview
LinkButton linkbutton = new LinkButton(); 
linkbutton.Text = nomDuDocument+"
";
linkbutton.CommandName = typeDocument;
linkbutton.EnableViewState = true;
linkbutton.CausesValidation = false;
linkbutton.Click += new EventHandler(bOpenFile_Click);
e.Row.Cells[11].Controls.Add(linkbutton);

3 réponses

Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
18
Bonjour,

D'experience, les contrôles dynamiques sont une des principales causes d'erreurs en ASP.net.

Pourquoi ne pas mettre ton linkbutton dans un CellTemplate de ton gridview ? Si tu as besoin de cacher des choses en fonction du type de ta ligne, tu peux utiliser un multiview, il est la pour ca.


____________________________________________
Cyril - MVP ASP.net - webSite
Messages postés
2
Date d'inscription
vendredi 12 juin 2009
Statut
Membre
Dernière intervention
30 septembre 2010

Hello,

Oui pour le moment j'ai choisis ta solution, enfin en mettant plusieurs linkbuttons dans la cellule et les afficher s'il on besoin de l'être, le seul problème c'est que le nombre de linkbutton n'est pas "infini" vu qu'ils doivent quand même être en dur dans la page aspx. Pour le moment cela marche comme ca si besoin est je n'ai juste qu'à rajouter des linkbuttons...

Merci de ta réponse !

Bonne journée
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
18
Bonjour,

tu peux alors utiliser un repeater dans ta cellule. Cela permettra d'avoir un nombre de linkbutton "infini"

____________________________________________
Cyril - MVP ASP.net - webSite