我有一个带有一些固定元素和默认选择的RadioButtonList。如果我使用javascript取消选中选项,则在回发时不会触发SelectedIndexChanged事件。
我希望调用SelectedIndexChanged是因为索引更改为-1。
这是Asp.Net代码
<asp:RadioButtonList ClientIDMode="Static" ID="RadioButtonList1" runat="server"
onselectedindexchanged="RadioButtonList1_SelectedIndexChanged">
<asp:ListItem Value="1" Selected="True"></asp:ListItem>
<asp:ListItem Value="2"></asp:ListItem>
</asp:RadioButtonList>
和jquery代码
$('#RadioButtonList1 :radio:visible').attr('checked', false);
据我所知,表单提交的数据收集阶段由 IPostBackDataHandler.LoadPostData 方法处理。
我从RadioButtonList派生了一个类,以验证何时调用LoadPostData,并且我注意到当选择非单选按钮时,不会调用该方法,并且对于SelectedIndexChanged事件也是如此。
似乎如果PageRequest.Form.Keys数组中没有RadioButtonList的键,则不会调用LoadPostData。
任何帮助表示感谢。
答案 0 :(得分:0)
尝试设置AutoPostBack="true"
示例:
<asp:RadioButtonList ClientIDMode="Static" ID="RadioButtonList1" runat="server"
onselectedindexchanged="RadioButtonList1_SelectedIndexChanged" AutoPostBack="true">
<asp:ListItem Value="1" Selected="True"></asp:ListItem>
<asp:ListItem Value="2"></asp:ListItem>
</asp:RadioButtonList>
根据MSDN的文档:
获取或设置一个指示的值 是否回发到服务器 当用户自动发生 更改列表选择。 (遗传 来自ListControl。)