
[英]Prevent page refresh in asp.net but not postback by using javascript or 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.