RadioButtonList中的默认项(Selected)不触发OnSelectedIndexChanged

RadioButtonList的数据从后台来绑定,绑定后,给个默认选中的值。

前台写法:<asp:RadioButtonList ID="radlMy" runat="server" RepeatColumns="4" RepeatDirection="Horizontal" RepeatLayout="Flow" OnSelectedIndexChanged="radlMy_SelectedIndexChanged" AutoPostBack="true">
</asp:RadioButtonList>

假设这个RadioButtonList控件现在有有3个选项,“按天统计”,“按月统计”,“按年统计”,按天统计时默认选中。

此控件配合UpdatePanel使用,进行异步刷新。

只要所选项一变化,就执行OnSelectedIndexChanged查询数据。

好,现在页面载入完成,进行测试:

首先点击:“按月查询”  --正常查询。

再点击:“按年统计”     --正常查询数据

最后点击:“按天统计”    --无反应了

为什么默认选中的始终不能触发查询事件?

原因很简单,因为与updatepanel控件搭配使用,单击事件后,局部刷新了 GridView数据区域,却没有刷新RadioButtonList控件自身,

导致第一个选中项始终处于选中状态,所以不能触发单击事件了。

所以解决方案是添加一个UpdatePanel,将RadioButtonList控件至于其中,用于回发RadioButtonList控件的OnSelectedIndexChanged事件。

参考:http://social.msdn.microsoft.com/Forums/zh/295/thread/c31b2574-14c9-4096-8870-420bff357684

原文地址:https://www.cnblogs.com/icycore/p/2772705.html