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 Ajax Discussion :

UpdatePanel, ConfirmButtonExtender et ModalPopupExtender


Sujet :

ASP.NET Ajax

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 49
    Par défaut UpdatePanel, ConfirmButtonExtender et ModalPopupExtender
    Bonjour à tous,

    Je rencontre actuellement des soucis avec l'utilisation d'AJAX et plus particulièrement d'UpdatePanel. Voici mon problème :
    - j'ai un UpdatePanel qui englobe un gridView
    - mon gridView contient une colonne qui dispose d'un bouton
    - ce bouton a un modalPopupExtender et un Panel associé (que nous nommerons majMovexPanel)
    Lorsque j'appui sur mon bouton, une pop-up apparait pour me demander confirmation. Je confirme. Mon updatePanel se rafraichit et j'ai le panel de demande de confirmation (majMovexPanel) qui reste affiché en dessous de mon gridView.
    J'ai essayé de sortir mon panel (majMovexPanel) de l'updatePanel mais du coup la popup n'apparait plus lorsque je clique sur mon bouton.

    Un peu de code :

    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
    33
    34
    35
    36
    37
    38
    39
    40
    41
     
    <asp:UpdatePanel runat="server">
            <ContentTemplate>
     
            <asp:Panel runat="server" ID="quantitePanel">
                <h2><b>Ecarts en quantité</b></h2>
                <asp:GridView   ID="ecartsGridView" runat="server"
                                AutoGenerateColumns="False" CssClass="gridViewClass" 
                                onRowCommand="UpdateEcarts"
                                onrowdatabound="EcartsGridView_RowDataBound">
                    <Columns>
                           <asp:TemplateField>
                            <ItemTemplate>
                                     <asp:Button ID="majMovexButton" runat="server" Text=" MAJ Movex " cssClass="boutonMajMovex" />
    <cc1:ConfirmButtonExtender ID="majMovexButton_cbe" runat="server" 
        Enabled="True" DisplayModalPopupID="majMovexMPE"
        TargetControlID="majMovexButton">
    </cc1:ConfirmButtonExtender>
     
    <cc1:ModalPopupExtender ID="majMovexMPE" runat="server"
        TargetControlID="majMovexButton"
        PopupControlID="majMovexPanel"
        BackgroundCssClass="modalBackground" 
        DropShadow="true" 
        OkControlID="OkButton" 
        CancelControlID="CancelButton" />
     
    <asp:Panel ID="majMovexPanel" runat="server" CssClass="modalWindow">
        <p><b>Êtes-vous sûr de vouloir valider cet écart ?</b></p>
        <div class="divBoutons">
            <asp:Button ID="OkButton" runat="server" Text="Valider" CssClass="boutonValider" />
            <asp:Button ID="CancelButton" runat="server" Text="Annuler" CssClass="boutonAnnuler" />
        </div>
    </asp:Panel>   
                            </ItemTemplate>
                        </asp:TemplateField>
                    </Columns>
                </asp:GridView>
            </asp:Panel>
         </ContentTemplate>
    </asp:UpdatePanel>
    Avez-vous une idée pour éviter ce problème ?

    Merci d'avance
    Luc

  2. #2
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Par défaut
    Au clic sur ton bouton de confirmation, appelle une fonction js dans laquelle tu fais quelque chose genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $find('majMovexMPE').hide();
    Normalement, ça devrait résoudre ton problème et ne t'obligera pas à sortir ton panel de ton updatePanel.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 49
    Par défaut
    Merci calagan99 pour ta réponse. Malheureusement cela ne résoud pas totalement mon problème.
    Explication: j'ai un tableau de 5 lignes, je clique sur mon bouton Maj. Le Panel se rafraichit et j'ai en dessous de mon tableau 5 panels de demande de confirmation. Donc ta solution me permet d'en supprimer un mais pas les 4 autres.

    J'ai essayé en mettant ! Problème différent car lors du premier clic sur mon bouton, cela fonctionne correctement. Maintenant si j'appuye sur le bouton d'une autre ligne, je n'ai aucune demande de confirmation.

    Merci de votre aide.

  4. #4
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Par défaut
    Les 5 panels en question sont-ils dans un même conteneur ou dans des conteneurs différents ?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 49
    Par défaut
    En fait je me suis peut être mal expliqué.
    Comme tu peux le voir dans le code que je fournis au dessus, je crée pour chacun de mes boutons un panel de demande de confirmation associé (peut être ne devrais-je en mettre qu'un seul pour l'ensemble de mes lignes !?).
    Donc lorsque je clique sur un des 4 boutons générés, il m'ouvre bien sous format popup le panel associé. L'UpdatePanel se recharge et j'obtiens en dessous de mon tableau des panels associés à mes 4 autres boutons.
    Donc pour répondre à ta question, mes 5 panels sont dans le même UpdatePanel.

    Merci du temps que tu prends pour trouver une solution.

  6. #6
    Membre Expert
    Avatar de Nicolas Esprit
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Février 2010
    Messages
    1 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 1 467
    Par défaut
    Bonjour,

    En utilisant un peu de javascript comme [ame="http://codingforums.com/showthread.php?t=150611"]ici[/ame] tu devrais résoudre ton problème.

    Sinon, ce ne sont pas les exemples qui manquent sur Google concernant le ConfirmButtonExtender.

    En espérant t'avoir aidé.

Discussions similaires

  1. UpdatePanel et ModalPopupExtender
    Par Elwe31 dans le forum ASP.NET
    Réponses: 4
    Dernier message: 22/06/2010, 18h33
  2. Réponses: 5
    Dernier message: 05/06/2009, 10h17
  3. Réponses: 0
    Dernier message: 26/02/2009, 23h04
  4. [C#][Ajax] WebControl dans un updatepanel
    Par Damien R dans le forum ASP.NET
    Réponses: 6
    Dernier message: 07/12/2006, 09h17

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