Bonjour,

J'ai un petit souci lors de mon chargement de mon userControl sur ma page . Mon controle est un conteneur qui est utilisé dans plusieurs pages. J'ai une page Contact.aspx qui utilise ce conteneur et qui contient un formulaire avec un évenement sur le bouton d'envoie. Ce bouton (LinkButton) déclenche un évenement qui récupère les infos du formulaire et les envoie par mail ensuite à un destinataire.

Le souci c'est que lorsque je charge mon contrôle , les évènements ne sont jamais pris en compte .

Voici la classe du User contrôl :

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
31
32
 protected override void CreateChildControls()
        {
            Controls.Clear();
            Control articleMarkup = Page.LoadControl("~/Design/Article.ascx");
 
            _headerPlaceholder = articleMarkup.FindControl("HeaderPlaceholder") as PlaceHolder;
            _contentPlaceholder = articleMarkup.FindControl("ContentPlaceholder") as PlaceHolder;
 
            _headerPlaceholder.Visible = ! String.IsNullOrEmpty(_caption);
 
            if (_headerPlaceholder.Visible)
            {
                Literal caption = new Literal();
                caption.Text = _caption;
                _headerPlaceholder.Controls.Add(caption);
            }
 
            if (_contentTemplate != null)
            {
                TemplateContainer container = new TemplateContainer();
                _contentTemplate.InstantiateIn(container);
                _contentPlaceholder.Controls.Add(container);
            }
 
            Controls.Add(articleMarkup);
        }
 
        public override void DataBind()
        {
            EnsureChildControls();
            base.DataBind();
        }
La page Aspx qui contient le contrôle avec l'Event.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
<asp:LinkButton runat="server" ID="EnvoyerLinkButton" Text="Envoyer" Font-Bold="true"
                                OnClick="EnvoyerLinkButton_Click"/></div>
En debuggant , je rentre dans le CreateChildControl() qui supprime tout les contrôles de la page et recharge ensuite en loadant mon user Control.


Au runtime , j'analyse le code source de la page et je vois que mon event n'apparait pas dans le rendu :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 <a id="ctl00_SheetContentPlaceHolder_ctl00_ctl00_EnvoyerLinkButton" href="javascript:__doPostBack('ctl00$SheetContentPlaceHolder$ctl00$ctl00$EnvoyerLinkButton','')" style="font-weight:bold;">Envoyer</a></div>
                    </td>
Si quelqu'un connait la solution à ce problème , je suis preneur . J'ai vérifier du côté des EventHandlerList du contrôle mais aucun signe de mon event.

Merci.