【问题标题】:How do you use the jQuery blockui add-in with MVC Ajax?如何在 MVC Ajax 中使用 jQuery blockui 插件?
【发布时间】:2010-09-20 04:38:02
【问题描述】:
【问题讨论】:
标签:
jquery
asp.net-mvc
ajax
【解决方案1】:
实际上并没有一种方法可以按预期使用 blockUI 并与服务器进行完整的往返。
如果您使用 jQuery 的 $.ajax() 或 $.getJSON 函数异步处理服务器,您可以在调用之前阻塞,然后在“成功”处理程序中解除阻塞。
【解决方案2】:
Dave 是对的,没有“MVC”方法可以做到这一点,但您当然可以访问 jQuery 中的 ajax 事件。如果 AJAX 调用在 250 毫秒内返回,“setTimeout”调用允许我们隐藏 blockUI。
$().ajaxSend(function() {
doLoad = setTimeout(function() {
$("#divtoblock").block({ message: "Loading..." }); }, 250);
});
$().ajaxComplete(function() {
clearTimeout(doLoad);
$("#divtoblock").unblock();
});