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 :

ModalPopup Ajax, postback, récupération info boutton


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 9
    Par défaut ModalPopup Ajax, postback, récupération info boutton
    Bonjour

    J'utilise une modal popup de l'Ajax Toolkit avec un postback généré sur l'appui du boutton OK qui est un control personnalisé. Ce bouton OK possède un propriété qui est assignée dynamiquement au moment de l'affichage sur le poste client.

    La pop up est lancé depuis le codebehind.

    Lorsque je passe dans l'évènement du bouton qui a généré le postback, le sender (mon bouton) ne contient plus l'information que je lui avait assigné avant le click.

    Code Aspx de la popup
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <asp:Panel ID="PopUpDisplayPanel" runat="server" CssClass="modalPopupDiv">
      <cc1:PouvoirsLabel ID="PopupMessage" runat="server" IsLocalisable="False"/>
      <br />
      <br />
      
    <cc1:PouvoirsCycleDeVieBouton ID="PopupOKButton" runat="server" OnClick="PopuOkButton_Click" IsLocalisable="False" />
    
    <cc1:PouvoirsCycleDeVieBouton ID="PopupCancelButton" runat="server"  IsLocalisable="False" />
    </asp:Panel>
    Code d'assignation de l'information au bouton au moment de l'affichage
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        public void SetPopUpInformation(ProcessEventArgs e)
        {
            DisplayMode = e.DisplayMode;
            PopupMessage.Text = e.Message;
            PopupOKButton.LifeCycleAction = e.Action;
            SetOkButtonJavaScriptPostBackFunction();
        }
    Evenement généré par le postback (ici le sender ne contient plus l'information voulue)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
        protected void PopuOkButton_Click(object sender, EventArgs e)
        {
            if (PopupAction_Click != null)
            {
                PopupAction_Click(sender, e);
            }
        }
    Petite précision, j'utilise une la propriété du bouton OK "OnClientClick=" pour générer le postback

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     string jsFunctionFormat = "fnDopostback('{0}','{1}')";
     
    PopupOKButton.OnClientClick = String.Format(jsFunctionFormat, PopupOKButton.UniqueID, "");
    Au moment du passage dans le javascript, la propriété du sender qui m'intéresse est deja réinitialisée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <script type="text/javascript">      
            function fnDopostback(sender, e) 
            { 
                __doPostBack(sender,e); 
            }
    </script>
    Au cas ou, le code du bouton personnalisé

    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
     
        public class PouvoirsCycleDeVieBouton : PouvoirsButton
        {
            //Propriété permettant d'obtenir le type d'action effectuée dans le cycle de vie
            private int _lifeCycleAction;
            [DefaultValue(0)]
            public int LifeCycleAction
            {
                get { return _lifeCycleAction; }
                set
                {
                    _lifeCycleAction = value;
                }
            }
        }

    Merci d'avance pour les éclaircissements

  2. #2
    Membre habitué
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 9
    Par défaut viewstate
    Il semblerait que avec cette methode postback, la propriété ne soit pas sauvegardée dans le viewsate.

    En ajoutant la valeur de la propriété au viewstate au moment du Set je recupere bien la bonne valeur

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Ajax Control Toolkit, info ou intox?
    Par gniouf2k6 dans le forum ASP.NET
    Réponses: 3
    Dernier message: 15/02/2007, 08h59
  2. [AJAX][struts]récupération de 2 paramètres
    Par zozolh2 dans le forum Struts 1
    Réponses: 2
    Dernier message: 01/02/2007, 17h58
  3. Réponses: 10
    Dernier message: 24/05/2006, 17h28
  4. [RegEx] Récupération infos flux rss / atom via ereg()
    Par Fab le Fou dans le forum Langage
    Réponses: 3
    Dernier message: 28/03/2006, 14h26
  5. [ SWT ] Récupération info d'un Browse
    Par geegee dans le forum SWT/JFace
    Réponses: 11
    Dernier message: 08/06/2004, 16h23

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