Bonjour,

malgré ce post je n'arrive pas à obtenir le déclenchement de mon évènement.

J'ai besoin d'un peu d'aide pour comprendre le fonctionnement et votre avis sur la méthode utilisée.

Dans ma page se trouve un PlaceHolder dans lequel j'ajoute un WebUserControl.
Ce WUC possède une dizaine de bouton qui devrait déclencher un évènement sur la page maître.

Quand mon WUC était défini dans la page en tant que "balise", l'évènement était bien déclenché, maintenant ce n'est plus le cas...

Voici mon code :

WUC :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
public partial class WUCResume : System.Web.UI.UserControl
    {
        #region delegates
 
        public event EventHandler btnRunStep1Click;
 
        public event EventHandler btnRunStep2Click;
        #endregion
 
protected void btnRunStep1_Click(object sender, EventArgs e)
        {
            btnRunStep1Click(sender, e);
        }
 
        protected void btnRunStep2_Click(object sender, EventArgs e)
        {
            btnRunStep2Click(sender, e);
        }
et maintenant le code de ma page :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 
public partial class mypage: Page
    {
        protected WUCResume ucResume;
 
protected void Page_Load(object sender, EventArgs e)
        {
            ucResume = (WUCResume)LoadControl("WUCResume.ascx");
            ucResume.ID = "myUcResume";
            ucResume.btnRunStep1Click += btnRunStep1_Click;
            ucResume.btnRunStep2Click += btnRunStep2_Click;
 
            if (!IsPostBack)
            {
                //clear the placeholder
                phContent.Controls.Clear();    
                phContent.Controls.Add(ucResume);
 
            } 
        }
 
       protected void btnRunStep1_Click(object sender, EventArgs e)
        {
.................
        }
 
        protected void btnRunStep2_Click(object sender, EventArgs e)
        {
...............
        }
j'ai essayé de mettre l'initialisation des evenement dans le page load, dans le page_init mais ca n'a rien changé.

j'ai essayé de récupérer le WUC si je ne suis pas dans le postback mais le placeholder est vide :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
if (!IsPostBack)
            {
                //clear the placeholder
                phContent.Controls.Clear();
                ucResume = (WUCResume)LoadControl("WUCResume.ascx");
                ucResume.ID = "myUcResume";
 
                phContent.Controls.Add(ucResume);
 
            } 
            else
            {
                ucResume = (WUCResume)phContent.FindControl("myUcResume"); 
                ucResume.btnRunStep1Click += btnRunStep1_Click;
                ucResume.btnRunStep2Click += btnRunStep2_Click;
            }
Est ce que qqun pourrait donc m'aider s'il vous plait a comprendre et trouver une solution à mes évènements.

Merci