2

お役に立てば幸いです。これは何時間も私を混乱させてきました。

CustomerGroupConfirm.aspxページにRadioButtonリストがあります。

<div>
    <table>
        <tbody>
            <tr>
                <td nowrap="nowrap">
                    <asp:RadioButtonList ID="rblContractGroups" runat="server"></asp:RadioButtonList>
                </td>
            </tr>
            <tr>
                <td nowrap="nowrap">
                <br />
                    <asp:Button ID="btnConfirmCustomerContractGroups" runat="server" OnClick="confirmCustomerContractGroups_Click" CssClass="Button" Text="Confirm Default Customer Contract Group" />
                </td>
            </tr>
        </tbody>
    </table>
</div>

RadioButtonを選択し、[デフォルトの顧客契約グループの確認]ボタンをクリックすると、コードビハインドの関数が起動します。

protected void confirmCustomerContractGroups_Click(object sender, EventArgs e)
{
    // Iterate through the Radio Button list.
    foreach (ListItem li in rblContractGroups.Items)
    {
        if (li.Selected)
        // If the Radio Button List Item (Customer Contract Group) is Selected.
        {
            // Set the Default Customer Contract Group of the Current User.
            CustomerAccess.SetDefaultCustomerContractGroup(Int32.Parse(Session["CustomerID"].ToString()), Int32.Parse(li.Value));
        }
    }
    Response.Redirect("~/Default.aspx");
}

問題は、リストアイテム(li.Selected)が常にfalseであるということです。

私は何が間違っているのですか?誰か助けてくれませんか。

敬具

ウォルター

4

1 に答える 1

1

たぶん、すべてのポストバックでrblContractGroupsラジオボタンリストをバインドしています。あなたはそれをIsPostBackコントロールに入れるべきです:

if (!Page.IsPostBack)
{
    // Bind your rblContractGroups
}
于 2009-06-27T20:28:25.130 に答える