0

タイトルに書いたように、RadioButton の選択を変更しようとすると、コード ビハインドが間違った値を取得します。

ジレンマ.aspx:

<asp:RadioButtonList ID="rbList" runat="server">
    <asp:ListItem Text="Yes, please." />
    <asp:ListItem Text="No, thanks." />
    <asp:ListItem Text="Ummm... maybe." />
</asp:RadioButtonList>
<asp:Button ID=""btnChoose" runat="server" text="OK" OnClick="btnChoose_Click" />

ジレンマ.aspx.cs:

protected void Page_Load(object sender, EventArgs e)
{
    int initialIndex = GetInitialIndex(); // Simplified for sake of question.
    rbList.SelectedIndex = initialIndex; // This works.
}

protected void btnChoose_Click(object sender, EventArgs e)
{
    int selection = rbList.SelectedIndex; // This gets it wrong!
}

コード ビハインドは、新しく選択された RadioButton を取得する代わりに、選択されたインデックスが初期インデックスであると認識します。

なんで?

4

1 に答える 1

0
protected void Page_Load(object sender, EventArgs e)
{
    if (!Page.IsPostBack)
    {
        int initialIndex = GetInitialIndex(); // Simplified for sake of question.
        rbList.SelectedIndex = initialIndex; // This works.
    }
}

誰かがこの回答を投稿しましたが、何らかの理由で削除しました。
私の前にこの回答を投稿した人は誰でも-うまくいきます!

于 2012-09-10T12:18:51.580 に答える