Problème de vérification d'un bouton radio dans le code derrière
J'ai un simple ASP.NET formulaire avec un DropDownList et deux composants radiobutton (qui partagent le même nom de groupe).
Dans l'événement SelectedIndexChanged de la DropDownList, j'ai mis Checked=true
sur les deux composants radiobutton.
Il définit la 2ème RadioButton bien, mais il ne vérifie pas la première. Ce que je fais mal?
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication3._Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
<form id="form1" runat="server">
<asp:DropDownList runat="server" AutoPostBack="true" OnSelectedIndexChanged="ddl_Changed"
ID="ddl">
<asp:ListItem Text="Foo" />
<asp:ListItem Text="Bar" />
</asp:DropDownList>
<asp:RadioButton runat="server" ID="rb1" Text="Foo" GroupName="foobar" />
<asp:RadioButton runat="server" ID="rb2" Text="Bar" GroupName="foobar" />
</form>
</body>
</html>
protected void ddl_Changed(object sender, EventArgs e)
{
if (ddl.SelectedIndex == 0)
rb1.Checked = true; //<- Doesn't actually work
else
rb2.Checked = true;
}
OriginalL'auteur Greg | 2011-02-22
Vous devez vous connecter pour publier un commentaire.
Est un échec parce qu'il est en train d'essayer de les régler à la fois à une sélection qui n'est pas possible avec des composants radiobutton dans un groupe.
La meilleure solution est d'utiliser un RadioButtonList:
Puis réglez l'élément sélectionné comme ceci:
OriginalL'auteur Richard Dalton
Ne sais pas si c'est la bonne manière, mais il fonctionne
Je suis d'accord. Après avoir vu votre exemple, c'est la manière d'aller de l'évolutivité.
OriginalL'auteur Matt