RadioButtonList设置为AutoPostBack = true但仍未触发OnSelectedIndexChanged

时间:2014-01-15 14:10:34

标签: c# asp.net

我有2个RadioButtonLists,我只想选择一个选项,f.i。如果在列表1中选择一个选项,则应清除列表2中的选项。

AutoPostBack和EnableViewState设置为true,但方法永远不会触发。我还检查了指数是否实际发生了变化,确实如此。我认为PostBack不会发生,但我不知道为什么。

我很感谢你的帮助。

ASCX:

<asp:RadioButtonList ID="_listOne" runat="server" AutoPostBack="true" OnSelectedIndexChanged="ListOneIndexChanged">
</asp:RadioButtonList>
<asp:RadioButtonList ID="_listTwo" runat="server" AutoPostBack="true" OnSelectedIndexChanged="ListTwoIndexChanged">
</asp:RadioButtonList>

代码背后:

protected void ListOneIndexChanged(object sender, EventArgs e)
{
    _listTwo.ClearSelection();
}
protected void ListTwoIndexChanged(object sender, EventArgs e)
{
    _listOne.ClearSelection();
}

2 个答案:

答案 0 :(得分:1)

将控件更改为RadioButton并将GroupName添加到它们将会起到作用:

<asp:RadioButton ID="_listOne" runat="server" GroupName="xx" AutoPostBack="true" OnSelectedIndexChanged="ListOneIndexChanged">
</asp:RadioButton>
<asp:RadioButton ID="_listTwo" runat="server" GroupName="xx" AutoPostBack="true" OnSelectedIndexChanged="ListTwoIndexChanged">
</asp:RadioButton>

答案 1 :(得分:0)

尝试只使用一个radibuttonlist和选项。

 <asp:RadioButtonList id="radiolist1" runat="server" OnSelectedIndexChanged="ListOneIndexChanged">

   <asp:ListItem selected="true">Item 1</asp:ListItem>
   <asp:ListItem>Item 2</asp:ListItem>
   <asp:ListItem>Item 3</asp:ListItem>
   <asp:ListItem>Item 4</asp:ListItem>
</asp:RadioButtonList>