我有2个RadioButtonLists,我只想要选择一个选项,f.i.如果您在清单1中选择了一个选项,则应清除清单2中的选项。RadioButtonList设置为AutoPostBack = true,但仍然没有触发OnSelectedIndexChanged
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();
}
'“我认为这回发只是不发生”' - 您是否已经验证这一点?浏览器的调试工具会告诉你是否发出请求,响应是什么,是否存在客户端错误等等。在回调过程中,在“Page_Load”事件中是否发生了任何事情?也许列表在该方法中重新填充,并且选择更改的事件丢失了?你需要稍微调试一下。 – David
你是否在使用updatepanels? – wingyip
是的,我已验证没有请求。 Page_Load没有任何反应,列表也没有重新填充。当我提交页面时,提交了正确的索引,所以我认为索引实际上发生了变化? – user3198448