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:
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
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>
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:
et enfin 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
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>
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
Partager