DÉCLENCHEMENT D'ÉVÉNEMENT DANS UN CONTROL UTILISATEUR ET REMONTÉ DE L'ÉVÉNEMENT
oxboz
Messages postés30Date d'inscriptionsamedi 16 août 2003StatutMembreDernière intervention 8 juin 2006
-
7 juin 2006 à 16:43
pascatd
Messages postés14Date d'inscriptionmardi 15 avril 2003StatutMembreDernière intervention17 septembre 2007
-
17 sept. 2007 à 17:14
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
pascatd
Messages postés14Date d'inscriptionmardi 15 avril 2003StatutMembreDernière intervention17 septembre 2007 17 sept. 2007 à 17:14
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.
Thanos_the_yopper
Messages postés309Date d'inscriptionvendredi 9 janvier 2004StatutMembreDernière intervention 5 mars 2009 20 juin 2006 à 15:59
lol y'a pas de quoi, j'espère que tout va bien marché à présent ^^
cs_darunia
Messages postés354Date d'inscriptionmercredi 18 décembre 2002StatutMembreDernière intervention24 mars 20112 20 juin 2006 à 15:55
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 !!!
Thanos_the_yopper
Messages postés309Date d'inscriptionvendredi 9 janvier 2004StatutMembreDernière intervention 5 mars 2009 20 juin 2006 à 15:41
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);
??
cs_darunia
Messages postés354Date d'inscriptionmercredi 18 décembre 2002StatutMembreDernière intervention24 mars 20112 20 juin 2006 à 15:31
Thanos_the_yopper
Messages postés309Date d'inscriptionvendredi 9 janvier 2004StatutMembreDernière intervention 5 mars 2009 20 juin 2006 à 14:25
Bon, déjà, t'as un avatar qui me plait ! (Trop bien Zelda ;) )
Cette petite disgression passée, voyons ton problème. Tu as bien déclaré ton EventHandler dans le controle utilisateur ? Est-ce que tu l'as bien déclaré en public pour que la page qui contient le controle puisse s'abonner à cet EnventHandler ?
Si tu peux, essaye de poster ton code ici, histoire de voir d'où peut venir le problème ^__^
cs_darunia
Messages postés354Date d'inscriptionmercredi 18 décembre 2002StatutMembreDernière intervention24 mars 20112 20 juin 2006 à 13:47
J'ai suivi ta méthode maus j'ai un probleme : mon EventHandler ne s'instancie pas et reste null, ce qui declenche une exception !
oxboz
Messages postés30Date d'inscriptionsamedi 16 août 2003StatutMembreDernière intervention 8 juin 2006 7 juin 2006 à 16:43
Merci pour ce petit code .. ca m'aide beaucoup, moi qui commence à ASP.NET
17 sept. 2007 à 17:14
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.
20 juin 2006 à 15:59
20 juin 2006 à 15:55
this.UserControl1.OnClick += new EventHandler(UserControl1_OnClick);
??
J'avais un peu oublié ce détail ...
En tout cas, merci beaucoup !!!
20 juin 2006 à 15:41
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);
??
20 juin 2006 à 15:31
public event EventHandler OnClick;
Declenchement de l'evenement :
protected void bouton_Click(object sender, EventArgs e)
{
OnClick(this, e); //Ici, OnClick=null -> probleme
}
20 juin 2006 à 14:25
Cette petite disgression passée, voyons ton problème. Tu as bien déclaré ton EventHandler dans le controle utilisateur ? Est-ce que tu l'as bien déclaré en public pour que la page qui contient le controle puisse s'abonner à cet EnventHandler ?
Si tu peux, essaye de poster ton code ici, histoire de voir d'où peut venir le problème ^__^
20 juin 2006 à 13:47
7 juin 2006 à 16:43