0

列表视图的项目模板内有一个单选按钮。我在列表视图与组名属性混淆时遇到了一些问题,并使用自定义单选按钮来克服这个问题(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(&#39;__doPostBack(\&#39;ctl00$cph1$lvOptions$ctrl21$lvGuideSpecOptionGroupOptions$ctrl0$rbOption\&#39;,\&#39;\&#39;)&#39;, 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(&#39;__doPostBack(\&#39;ctl00$cph1$lvOptions$ctrl21$lvGuideSpecOptionGroupOptions$ctrl1$rbOption\&#39;,\&#39;\&#39;)&#39;, 0)" name="Paralleling Switchgear" />
                                    </td>
                                </tr>

关于可能导致这种情况的任何想法?我错过了一些明显的东西吗?

4

1 回答 1

0

如果您查看生成的 javascript,您会看到回发发生在 onclick 事件中。onclick 事件仅针对您实际单击的单选按钮触发,而不是为失去焦点的按钮触发。

真的,我认为这是你想要的行为。否则,每次更改单选按钮选项时,您都必须与服务器进行两次往返,这会使您的页面痛苦地无响应。在您的事件处理程序中,只需检查新的选中单选按钮是什么,而不是依赖第二次回发。

于 2012-08-31T14:39:27.663 回答