Asp Checkbox OnCheckedChanged仅在另一个控件执行回发时触发

时间:2014-02-27 13:39:56

标签: c# javascript jquery asp.net twitter-bootstrap

我有一个带有gridview的简单表单,其中一个字段是templateField

<asp:TemplateField HeaderText="State" SortExpression="IsActive">
   <ItemTemplate>
       <asp:CheckBox runat="server" ClientIDMode="AutoID" ID="IsActive" AutoPostBack="true"    OnCheckedChanged="IsActive_CheckedChanged" Enabled="true"/>
   </ItemTemplate>
</asp:TemplateField>

我将ClientIDMode设置为AutoID,以使每个checkboxex都是唯一的。 我找到了一个解决方案,使我的Checkbox看起来像一个使用bootstrap的开关 http://www.bootstrap-switch.org/

所以我也有一个js方法来启用bootstrap

    function bootstrapSwitch() {
        var grid = document.getElementById("GridViewFeatures");

        var inputs = grid.getElementsByTagName("input");

        for (var i = 0; i < inputs.length; i++) {
            var str1 = "#";
            var str2 = inputs[i].id;
            var res = str1.concat(str2);
            $(res).bootstrapSwitch();
        }

所以我可以看到一个很好的自举开关控制。 但是,当我按下Checkbox OnCheckedChanged事件时不会触发。 我在处理程序中放置了一个断点,并注意到,当我按下复选框然后按另一个简单的按钮

<asp:Button ID="ButtonRefresh" runat="server" Text="Refresh" OnClick="ButtonRefresh_Click" />

我进入OnCheckedChanged,所以它只在另一个控件执行回发时触发。 请告诉我,如何修复它以便能够同时使用引导样式和逻辑代码。

0 个答案:

没有答案