列表视图的项目模板中有一个单选按钮。我在列表视图中遇到了一些问题,弄乱了组名属性,并使用自定义单选按钮来克服这个问题(http://www.codeproject.com/Articles/7960/How-to-group-RadioButtons).
单击单选按钮时,事件会正常触发。当我在之后单击一个单选按钮时,该事件仍然只触发一次,但它应该触发两次。
我查看了源代码,看起来每个控件都会分配回发事件。
<tr>
<td class="name">
<span id="cph1_lvOptions_lvGuideSpecOptionGroupOptions_21_lblOptionName_0">None</span>
</td>
<td class="available">
</td>
<td class="available">
<input id="cph1_lvOptions_lvGuideSpecOptionGroupOptions_21_rbOption_0" type="radio" value="ctl00$cph1$lvOptions$ctrl21$lvGuideSpecOptionGroupOptions$ctrl0$rbOption" onclick="javascript:setTimeout('__doPostBack(\'ctl00$cph1$lvOptions$ctrl21$lvGuideSpecOptionGroupOptions$ctrl0$rbOption\',\'\')', 0)" name="Paralleling Switchgear" />
</td>
</tr>
<tr>
<td class="name">
<span id="cph1_lvOptions_lvGuideSpecOptionGroupOptions_21_lblOptionName_1">EGP UL 891</span>
</td>
<td class="available">
</td>
<td class="available">
<input id="cph1_lvOptions_lvGuideSpecOptionGroupOptions_21_rbOption_1" type="radio" value="ctl00$cph1$lvOptions$ctrl21$lvGuideSpecOptionGroupOptions$ctrl1$rbOption" onclick="javascript:setTimeout('__doPostBack(\'ctl00$cph1$lvOptions$ctrl21$lvGuideSpecOptionGroupOptions$ctrl1$rbOption\',\'\')', 0)" name="Paralleling Switchgear" />
</td>
</tr>
关于可能导致这种情况的任何想法?我错过了一些明显的东西吗?
答案 0 :(得分:0)
如果您查看生成的javascript,您会看到回复发生在onclick事件中。 onclick事件仅针对您实际点击的单选按钮触发,而不是失去焦点的按钮。
真的,我认为这是你想要的行为。否则,每次更改单选按钮选项时,您必须两次往返服务器,这会使您的页面痛苦地无响应。在您的事件处理程序中,只需检查新选中的单选按钮是什么,而不是依赖于第二次回发。