Bonjour

Mon problème est simple.

Dans ma page asp.Net, j'ai ceci:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
<asp:RadioButtonList ID="RadioButtonList1" runat="server" OnSelectedIndexChanged="RadioButtonList1_SelectedIndexChanged">
        <asp:ListItem>Avec XXX</asp:ListItem>
        <asp:ListItem Selected="True">Sans XXX</asp:ListItem>
    </asp:RadioButtonList>
Dans mon code behind, j'ai le code suivant dans le page_load

Code : Sélectionner tout - Visualiser dans une fenêtre à part
RadioButtonList1.Items[0].Attributes.Add("onclick", "document.getElementById( 'optionpanel' ).style.display = 'block';");            RadioButtonList1.Items[1].Attributes.Add("onclick", "document.getElementById( 'optionpanel' ).style.display = 'none';");

et mon option panel...

Code : Sélectionner tout - Visualiser dans une fenêtre à part
 <asp:Panel id="optionpanel" hidden="hidden" >
Avec ce code, j'arrive donc à faire, coté client, que l'appui sur l'un des radiobutton affiche ou pas mon panel...

Maintenant, lors du chargement de ma page, je dois positionner le radioButton à une valeur provenant d'une base de données...

Je fais donc le code suivant:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
RadioButtonList1.Items[0].Selected = contrat.SWAP;
RadioButtonList1.Items[1].Selected = !contrat.SWAP;
Résultat ==> Mon radioButton est bien configuré...

Question : Comment je fais pour que mon panel soit visible aussi ?

Réponse : J'ai essayé avec l'attribut : Runat="server"...

Celà me permet alors de faire du code genre :

optionPanel.Style["display"] = "block";

SAUF QUE:
Mon comportement avec les radiobutton ne fonctionne plus du cout (peut-etre à cause du runat="server"...

Au final, ma question se résumerait donc à :

Est-il possible d'avoir des radioButton qui gère l'affichage / masquage d'un controle coté client tout en ayant la possibilité d'initialiser l'état des controles
comme il convient qu'ils soient !!!


Merci d'avance...