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

时间:2018-07-29 17:20:42

标签: javascript webforms

在我的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();
    }

1 个答案:

答案 0 :(得分:0)

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