我在使用块 ui 的地方有以下代码,但它没有阻止页面。我正在使用 ajax 调用来获取用户控制结果(部分视图)以加载到页面中的 div。在 ajax 调用期间我想阻止整个页面使用布洛克伊。
$('#btnGO').click(function() {
if (validate()) {
alert("loading");
$.blockUI({ message: '<img src="/Content/images/ajax-loader.gif"/>' }); //this is not working
$.ajax({
type: "POST",
url: "/Controller/action/", //to get the partial view
async: false,
cache: false,
beforeSend: function() {
},
complete: function() {
alert("ajax complete event")
$.unblockUI();
},
data: $('#frmPassBook').serialize(),
error: function(xhr, status, error) {
$('#ErrorMessage').html(xhr.responseText);
$("#ErrorMessage").stop().show('slow');
$('#ui-widget').show();
$.unblockUI();
},
success: function(data) {
$("#aCBDetails").parent().show();
$("#divCBDetails").hide("blind");
$("#aCBDetails span:first").removeClass("ui-icon-circle-triangle-n").addClass("ui-icon-circle-triangle-s");
$('#ui-widget').hide();
//loading html in div
$("#div").html(data);
if ($("#rbMain") != undefined) {
if ($("#rbMain").attr("checked")) {
$(".subTrId").hide();
$("#spSub").hide();
$("#spMain").show();
}
else {
$(".subTrId").show();
$("#spSub").show();
$("#spMain").hide();
}
} else {
$("#spSub").show();
$("#spMain").hide();
}
//unblocking after div is loaded with html
$.unblockUI();
}
});
} else {
$.unblockUI();
}
return false ;
});