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 :

PB UpdatePanel qui reset les autres composants


Sujet :

ASP.NET

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2011
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 34
    Points : 15
    Points
    15
    Par défaut PB UpdatePanel qui reset les autres composants
    Bonjour tout le monde,

    Etant débutant en ASP.NET, je suis actuellement en train de programmer un petit agenda perso.

    J'ai un souci sur mon écran d'édition d'un évènement, qui contient un formulaire pré-rempli avec les données de l'évènement sélectionné qu'on veut éditer.

    Pour rendre l'opération d'édition plus agréable, j'ai décidé, sur certaines de mes textbox, de mettre des PopupControlExtender qui contiennent, par exemple, un calendrier pour sélectionner la date de début de l'évènement, et sur un autre textbox, une CheckBoxList pour sélectionner les participants à cet évènement.

    Lorsque je sélectionne une date début différente de celle pré-remplie, la textbox se met bien à jour.

    Problème: Lorsque ensuite je sélectionne des participants différents de ce qui était pré-remplit et que je valide via le bouton que j'ai ajouté dans le panel sous la CheckBoxList, le textbox des participants se met bien à jour, mais la date de début se remet comme avant!

    J'arrive pas à comprendre pourquoi!?

    Je vous colle ci-dessous mon code ASP.NET et code behind concernant les composants décrits plus haut:

    La CheckBoxList qui permet de sélectionner les participants:
    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
     
    <asp:Panel ID="pnlParticipants" runat="server" style="display:none">
                            <asp:UpdatePanel ID="UpParticipants" runat="server" UpdateMode="Always">
                                <ContentTemplate>
                                    <asp:CheckBoxList ID="OngletEdition_ChkBoxLst_Participants" runat="server" BackColor="LightGray"></asp:CheckBoxList>
                                    <asp:Button ID="OngletEdition_Btn_PopupValider" runat="server" Text="Valider" OnClick="OngletEdition_Btn_PopupValider_Click"/>
                                </ContentTemplate>
                            </asp:UpdatePanel>
                        </asp:Panel>
     
                        <ajaxtoolkit:PopupControlExtender 
                            ID="Popup_Participants" 
                            runat="server" 
                            TargetControlID="OngletEdition_TxtBox_Participants" 
                            PopupControlID="pnlParticipants" 
                            Position="Bottom"
                            CommitProperty="value">
                        </ajaxtoolkit:PopupControlExtender>
    et son code behind:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
            protected void OngletEdition_Btn_PopupValider_Click(object sender, EventArgs e)
            {
                var totalcount = OngletEdition_ChkBoxLst_Participants.Items.Cast<ListItem>().Where(item => item.Selected).Count();
                string liste = string.Empty;
     
                if (totalcount > 0)
                    foreach (object o in OngletEdition_ChkBoxLst_Participants.Items.Cast<ListItem>().Where(item => item.Selected))
                        liste += "," + o.ToString();
     
                OngletEdition_TxtBox_Participants.Text = liste;
            }

    puis le calendrier de la date début:
    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
     
                        <asp:Panel ID="pnlCalendarDateDebut" runat="server" style="display:none">
                          <asp:UpdatePanel ID="upCalendarDateDebut" runat="server" UpdateMode="Always">
                            <ContentTemplate>
                            <asp:Calendar 
                                ID="calDateDebut" runat="server" 
                                SelectedDate="<%# DateTime.Today %>" 
                                VisibleDate="<%# DateTime.Today %>"
                                OnSelectionChanged="calDateDebut_SelectionChanged"
                                DayNameFormat="Shortest" ShowGridLines="True" BackColor="LightBlue">
                            </asp:Calendar>
                          </ContentTemplate>
                         </asp:UpdatePanel>
                        </asp:Panel>
     
                        <ajaxtoolkit:PopupControlExtender 
                            ID="Popup_DateDebut" 
                            runat="server" 
                            TargetControlID="OngletEdition_TxtBox_DateDebut" 
                            PopupControlID="pnlCalendarDateDebut" 
                            Position="Bottom" 
                            CommitProperty="value">
                        </ajaxtoolkit:PopupControlExtender>
    et enfin son code behind:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
            protected void calDateDebut_SelectionChanged(object sender, EventArgs e)
            {
                this.Popup_DateDebut.Commit(calDateDebut.SelectedDate.ToShortDateString());
            }

    Voila voila, je pense avoir fourni tous les éléments?



    Merci d'avance pour votre aide!



    Tib

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2011
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 34
    Points : 15
    Points
    15
    Par défaut
    Re bonjour,

    je viens d'essayer en mettant le UpdateMode à "Conditionnal" et c'est pareil

    Une idée?

    Merci!

  3. #3
    Membre éclairé
    Inscrit en
    Septembre 2007
    Messages
    1 137
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 137
    Points : 707
    Points
    707
    Par défaut
    et si tu ne mets qu'un seul updatepanel sur tout ton formulaire

Discussions similaires

  1. Interargir avec les autres composants.
    Par Programming-Z dans le forum C#
    Réponses: 2
    Dernier message: 12/09/2012, 17h11
  2. Une fonction qui stoppe les autres
    Par Whombat dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 11/01/2009, 09h09
  3. menu déroulant qui pousse les autres éléments
    Par JackBeauregard dans le forum Mise en page CSS
    Réponses: 9
    Dernier message: 12/05/2007, 02h33
  4. Div qui perturbe les autres
    Par Garra dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 02/05/2007, 17h30
  5. champ d'un recordset qui bloquent les autres
    Par zooffy dans le forum ASP
    Réponses: 3
    Dernier message: 01/02/2007, 17h12

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