Элемент списка переключателей всегда ложен - PullRequest
1 голос
/ 28 июня 2009

Я надеюсь, вы можете помочь. Это смущало меня часами.

У меня есть список RadioButton на моей странице CustomerGroupConfirm.aspx:

<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) всегда ложен.

Что я делаю не так? Может кто-нибудь помочь, пожалуйста.

С уважением

Walter

1 Ответ

1 голос
/ 28 июня 2009

Возможно, вы привязываете свой список радиобуттонистов rblContractGroups при каждом постбэке. Вы должны поместить его в элемент управления IsPostBack:

if (!Page.IsPostBack)
{
    // Bind your rblContractGroups
}
...