Intercepter un evenement

Signaler
Messages postés
53
Date d'inscription
vendredi 26 mars 2004
Statut
Membre
Dernière intervention
27 février 2006
-
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
-
bonjour,

Je suis en train de developper 2 UserControl et j'arrive pas a intercepter un evenenement. En fait, j'ai un premier UserControl contenant un bouton. Si l'on click sur ce bouton, ca induit des modifications au niveau du 2e UserControl.

Seul probleme, j'arrive pas a intercepter l'evenement click du bouton appartenant au 1er UC au niveau du 2e UC pour que je puisse faire mes changements que je souhaite.

Comment faire tout ceci ????

5 réponses

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

soit UC1 l'uc ayant un bouton
UC2 l'UC à modifier

tu as deux solutions, soit tu appelle une fonction de UC2 lors du clique de UC1 soit quand UC2 s'init tu vas chercher UC2 et son bouton puis s'abonner au click de celui ci :p

l'idée est :

dans le init de UC2

if (page.FindControls["idUC1"] != null)
{
btn page.FindControls["idbtn"].click += new EventHandler(btnUC1_click);
}

private void btnUC1_click(Object sender, EventArgs e)
{
// tu peux ici gérer l'appel de l'evenement click ;)
}

Il faut dans ce cas connaitre l'id de UC1 mais tu peux t'amuser (et tuer les perf :s) à rechercher tout les UC du type UC1 ...


<HR>
Cyril - MVS - MCP ASP
Messages postés
53
Date d'inscription
vendredi 26 mars 2004
Statut
Membre
Dernière intervention
27 février 2006

N'y a t'il pas aussi une voie envisageable en creeant un evenement (RaiseEvent) lors du bouton click et en interceptant dans le 2e UC l'evenement avec AddHandler ? EN fait, j'essaie cette methode mais je n'y arrive pas, je sais pas si c la bonne...
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
Je n'ai pas tout à fait compris ta méthode, mais tu n'as pas besoin de déclencher d'events vu que tu en as deja un (sauf si tu veux faire compliqué;)) regarde donc ma méthode :)

en VB : btn page.FindControls["idbtn"].click += new EventHandler(btnUC1_click); c'est :

AddHandler btn page.FindControls["idbtn"].click, AdresseOf btnUC1_click;


<HR>
Cyril - MVS - MCP ASP
Messages postés
53
Date d'inscription
vendredi 26 mars 2004
Statut
Membre
Dernière intervention
27 février 2006

Salut,

Oui c'est exactement ce que je cherche a faire avec le addhandler, mais il ne veut pas reconnaitre le button1 situe dans l'autre user control. Je ne sais pas comment avoir acces a l'ensemble des controls situe dans l'autre UC.

merci quand meme
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
if (page.FindControls["idUC1"] != null)
{
btn page.FindControls["idUC1"].FindControls["idbtn"].click += new EventHandler(btnUC1_click);
}

ou sinon regarde en debug ce qu'il y a :)


<HR>
Cyril - MVS - MCP ASP<