【问题标题】:How do you use the jQuery blockui add-in with MVC Ajax?如何在 MVC Ajax 中使用 jQuery blockui 插件?
【发布时间】:2010-09-20 04:38:02
【问题描述】:

我一直在这里阅读这篇文章:

http://encosia.com/2008/10/04/using-jquery-to-enhance-aspnet-ajax-progress-indication/

但它想使用以下对象:

Sys.WebForms.PageRequestManager.getInstance()

这在使用 MVC AJAX 代码时不存在。有没有人尝试在 MVC AJAX 的回发结束时挂钩以知道何时解除对 UI 的阻塞?

【问题讨论】:

    标签: 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();
      });
      

      【讨论】:

        猜你喜欢
        • 2012-09-17
        • 1970-01-01
        • 2012-05-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-02-03
        相关资源
        最近更新 更多