繁体   English   中英

如何防止ASP.NET页面的回发重置按钮上的类

[英]How to prevent postback of ASP.NET page from resetting classes on button

在我的ASP.NET Web窗体中,我有一系列HTML按钮,除了1之外,它们的初始状态均被禁用。单击启用的初始按钮后,我使用JavaScript从第一个禁用按钮中删除了禁用的类,但随后使用ASP.NET触发回发,并将按钮重置为其禁用状态。 我尝试添加preventdefault来阻止这种情况的发生,但是它不起作用。 如何防止回发将按钮重置为禁用状态?

这是我的按钮的代码

<li><button id="viewOrderAuto" class="btn btn-default btn-primary" type="button">1. View Order</button></li>
            <li><button id="addRecItmAuto" class="btn btn-default disabled" type="button">2. Update Quantities</button></li>
            <li><button id="receiveAuto" class="btn btn-default disabled" type="button">3. Save Changes</button></li>

这是第一个按钮的点击事件

    $("#viewOrderAuto")
    .click(function (e) {
        AutoRunthrough.viewOrder();
    });

这是调用该函数以删除禁用的类的代码

        viewOrder: function (e) {
        $('.nav-tabs a[href="#receiving"]').tab('show');
        var btnRow = $("#MainContent_OrderListGrid tbody").find("a:first");
        if (typeof btnRow != 'undefined')
            eval(btnRow.attr('href'));
        AutoRunthrough.removeDisable($("#addRecItmAuto"));

    }

最后删除类的函数

        removeDisable: function (element) {
        element.removeClass("disabled");
        element.preventDefault();
    }

JavaScript不会保持状态不变。 因此,当页面刷新时,整个脚本将再次呈现。 您可以将隐藏值保留在aspx.cs文件中,并通过javaScript进行设置。 然后根据它可以禁用按钮。

.aspx.cs文件

    <asp:HiddenField ID="buttonCondition" runat="server" />

   <script>
    var buttonCondition= '#<%= buttonCondition.ClientID %>';
    </script>

javaScript文件

     $("#viewOrderAuto")
.click(function (e) {
    AutoRunthrough.viewOrder();
   $(buttonCondition).val(true)
});

if($(buttonCondition).val()==true)
   then do here what you want

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM