Bonjour,
Je développe une application en ASP.NET et je dois utiliser des radio boutons.
Dans ma fenêtre apsx j'ai :
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 <table> <tr> <td> </td> <td> <asp:RadioButton ID="libreEvapo" runat="server" GroupName="grpEvapo" Text="Libre" Checked="false" Width="100px"/> </td> <td> </td> </tr> <tr> <td> </td> <td> <asp:RadioButton ID="bloqueEvapo" runat="server" GroupName="grpEvapo" Text="Bloqué" Checked="false" Width="100px" /> </td> <td align="right"> <asp:Button ID="boutonEnregistrer" runat="server" Text="Enregistrer" Enabled="true" OnClick="boutonEnregistrer_Click" Width="90px" /> </td> </tr> </table>
et dans ma page .cs j'ai :
lors du chargement de la page, en fonction d'un booléen, je sélectionne l'option en question.
ensuite, je veux pouvoir modifier ces propriétés en cliquant sur une autre option. Pour enregistrer le tout, je clique sur le bouton enregistrer.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 if (bloque == true) { //le procédé est bloqué bloqueEvapo.Checked = true; libreEvapo.Checked = false; } else { //le procédé est libre bloqueEvapo.Checked = true; libreEvapo.Checked = false; }
voici le code du traitement :
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 protected void boutonEnregistrer_Click(object sender, EventArgs e) { int val; if (bloqueEvapo.Checked == true && libreEvapo.Checked == false) { val = 0; } else { if (bloqueEvapo.Checked == false && libreEvapo.Checked == true) { val = 1; } else { //ce cas n'est normalement pas possible à cause des options de groupe! throw new Exception("Erreur !"); } } }
Mon problème, c'est que lorsque je change l'option sélectionnée et que je clique sur enregistrer, les états ne sont pas pris en compte.
Exemple :
lors du chargement de la page, mon booléen bloque est à true. j'ai donc bloqueEvapo.Checked = true et libreEvapo.Checked = false. A l'affichage tout est ok. Maintenant, je sélectionne à la main libreEvapo, et je clique sur enregistrer, et bien je vais rentrer dans ce cas :
if (bloqueEvapo.Checked == true && libreEvapo.Checked == false)
{
val = 0;
}
alors que j'ai changé le radio bouton sélectionné.
Une idée??
Merci
Partager