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