IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

[C#][Ajax] WebControl dans un updatepanel


Sujet :

ASP.NET

  1. #1
    Membre averti
    Profil pro
    Développeur Web
    Inscrit en
    Novembre 2005
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2005
    Messages : 38
    Par défaut [C#][Ajax] WebControl dans un updatepanel
    Bonjour,

    mon problème est le suivant.

    J'ai une page principale (Default.aspx) contenant un updatepanel.

    Lorsque je clique sur un bouton situé dans ma page principale, je charge dans mon updatepanel un controle web (ascx).
    Ce controle contient un formulaire et un bouton permettant d'enregister les données via une méthode incluse dans le code-behind de mon controle ascx.

    Le problème vient maintenant : lorsque je clique sur mon bouton, une requête "ajax" est envoyé vers le serveur mais ce dernier n'execute pas ma méthode.

    Maintenant, il y a 2 scenarios où ce la marche :
    - lorsque j'appelle une méthode de ma page principale (Default.aspx),
    - lorsque je charge en même temps ma page principale et mon contrôleWeb.

    Si quelqu'un peut m'aider, je lui serais extrèmement reconnaissant.

    Je cherche sans exagérer depuis vendredi dernier à plein temps, ça commence vraiment à me les briser !!!


    Merci d'avance pour votre aide.

    A bientôt.

    Damien

  2. #2
    Membre éprouvé Avatar de raOOn
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 100
    Par défaut
    as tu informé l'attribut mode de ton updatepanel?

    typiquement: mode="conditional"

    Cordialement,

    raoon

  3. #3
    Membre averti
    Profil pro
    Développeur Web
    Inscrit en
    Novembre 2005
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2005
    Messages : 38
    Par défaut
    Bonjour Raoon,

    merci de m'avoir répondu.

    Malheureusement ce n'est pas ça.


    Le code de ma page Default.aspx

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <asp:ScriptManager ID="ScriptManager1" runat="server" EnablePartialRendering="true" />
                    <asp:UpdatePanel ID="upContent" runat="server" UpdateMode="Conditional" RenderMode="Inline">
                        <ContentTemplate>
     
                        </ContentTemplate>
                        <Triggers>
                            <asp:AsyncPostBackTrigger ControlID="lb1" EventName="Click" />
                        </Triggers>
                    </asp:UpdatePanel>
    <asp:LinkButton runat="server" ID="lb1" Text="" onclick="ButtonMenu_Click" />
    Code de ButtonMenu_Click dans le code-behind de Default.aspx

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
        protected void ButtonMenu_Click(object sender, EventArgs e)
        {
     
                //Chargement du contrôle
                Control c = this.LoadControl("control1.ascx");
                this.upContent.ContentTemplateContainer.Controls.Add(c);
     
        }
    Mon web contrôle
    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
     
        public partial class CtrlManifDetail : System.Web.UI.UserControl
        {
            LinkButton lb;
     
            protected override void CreateChildControls()
            {
                base.CreateChildControls();
                ScriptManager sm = ScriptManager.GetCurrent(Page);
     
                //Ajout de mon bouton
                lb = new LinkButton();
                lb.ID = "lbTest";
                lb.Text = "Bouton de test";
                lb.Click += new EventHandler(lbTest_save);
     
                this.Controls.Add(lb);
            }
     
            protected void Page_Load(object sender, EventArgs e)
            {
     
            }
     
            protected void lbTest_save(object sender, EventArgs e)
            {
                 //Mon traitement
            }

    En espérant que cela pourra vous aider à m'aider .

    Damien

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 91
    Par défaut
    Tu dois réafecter ton event à chaque chargement de la page.

  5. #5
    Membre averti
    Profil pro
    Développeur Web
    Inscrit en
    Novembre 2005
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2005
    Messages : 38
    Par défaut
    Je ne vois pas ce que tu veux dire. Peux-tu préciser s'il te plait ?

    Je ne recharge jamais ma page puisque j'utilise une requête "ajax".

  6. #6
    Membre averti
    Profil pro
    Développeur Web
    Inscrit en
    Novembre 2005
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2005
    Messages : 38
    Par défaut
    Si en fait je vois ce que tu veux dire !

    Le problème est maitenant le suivant. Lorsque je clique sur le bouton de ma page principale je ne sais pas quel contrôle je dois charger.
    Je ne peux donc pas les utiliser dans l'init de Default.aspx.

    Quelle solution intermédiaire puis-je utiliser pour résoudre ce problème ?


    Merci par avance.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 91
    Par défaut
    Je ne vois pas bien ce que tu veux dire cependant si tu veux envoyer au server des informations en cliquant sur ton bouton, tu peux faire un textbox caché qui contiendra ces informations.

Discussions similaires

  1. Réponses: 0
    Dernier message: 15/11/2011, 17h44
  2. Réponses: 4
    Dernier message: 06/11/2007, 14h05
  3. [AJAX] ajax ecrire dans du xml
    Par jdar dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 07/02/2007, 17h49
  4. [AJAX] ajax et # dans barre de titre
    Par speedev dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 17/05/2006, 17h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo