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>
                                    &nbsp;
                                </td>
                            </tr>
                            <tr>
                                <td>
                                    &nbsp;
                                </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.
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;
        }
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.
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