DÉCLENCHEMENT D'ÉVÉNEMENT DANS UN CONTROL UTILISATEUR ET REMONTÉ DE L'ÉVÉNEMENT

Signaler
Messages postés
30
Date d'inscription
samedi 16 août 2003
Statut
Membre
Dernière intervention
8 juin 2006
-
Messages postés
14
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
17 septembre 2007
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/35057-declenchement-d-evenement-dans-un-control-utilisateur-et-remonte-de-l-evenement-dans-la-page-courante

Messages postés
14
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
17 septembre 2007

Vraiment bien comme code.
Pour ma part, je complique un peu la tache :
mon controle est une image ou imageBouton suivant les cas et il est apellé dans un gridView. Suivant certains paramètres de la ligne des données du gridView, L'image est un bouton ou non. Enfin la n'est pas le pb. Mon soucis c'est que je ne peux pas faire
this.UserControl1.OnClick += new EventHandler(UserControl1_OnClick); dans le page_Load mais je suis obligé de le faire de la OnRowCreated de mon gridView.
Et du coup, voici mon erreur

La référence d'objet n'est pas définie à une instance d'un objet.

Erreur source:

Ligne 72 : protected void Image_Click(object sender, EventArgs e)
Ligne 73 : {
Ligne 74 : if (e != null) OnImageClick(sender, e);
Ligne 75 : }

Merci d'avance pour ton aide.
Messages postés
309
Date d'inscription
vendredi 9 janvier 2004
Statut
Membre
Dernière intervention
5 mars 2009

lol y'a pas de quoi, j'espère que tout va bien marché à présent ^^
Messages postés
354
Date d'inscription
mercredi 18 décembre 2002
Statut
Membre
Dernière intervention
24 mars 2011
1
et dans ta page qui contient le controle utilisateur, tu as bien, dans le page_load(object sender, EventArgs e) un truc du style :
this.UserControl1.OnClick += new EventHandler(UserControl1_OnClick);
??

J'avais un peu oublié ce détail ...
En tout cas, merci beaucoup !!!
Messages postés
309
Date d'inscription
vendredi 9 janvier 2004
Statut
Membre
Dernière intervention
5 mars 2009

alors là, je vois pas tiens. Je pense pas que ça doit faire une grosse différence, mais j'utilise plutôt "sender" au lieu de "this" en paramètre de l'EventHandler.

Sinon, pour info, tu as bien la version 2 du framework .Net ?

et dans ta page qui contient le controle utilisateur, tu as bien, dans le page_load(object sender, EventArgs e) un truc du style :
this.UserControl1.OnClick += new EventHandler(UserControl1_OnClick);
??
Afficher les 8 commentaires