块ui走得太快了

时间:2011-05-13 17:58:47

标签: asp.net asp.net-mvc-3 jquery-plugins

下面是Jquery函数,我正在我的asp.net MVC应用程序中调用一个动作。在控制器操作中,我正在加载一个局部视图,该视图加载在div“result”中。在控制器操作中,我正在执行数据库操作并使用这些数据加载网格...但是我们有大量记录需要花费时间(比如不同情况,这是1-10分钟)。

为了获得更好的用户体验,我们决定在加载数据之前阻止UI并显示微调器......

下面的blockui插件对我来说很有用,但是它太快了..只显示几秒钟然后更加失望......

如何避免这种想法..请帮助......

function RenderPartialView() {
    //block the UI until partial view is rendered
    $.blockUI({ message: '<h3><b><img src="/content/images/loading.gif" /> Please wait while the request is being processed...</b></h3>' });
    //load the partial view
    $('#result').load('@Url.Action("Grid", "Home")', { flip: false });
    //unblock the UI
    $.unblockUI();
}

1 个答案:

答案 0 :(得分:2)

Load有一个你可以访问的回调 提供的回调在执行后处理后执行(当检测到成功的响应时)

尝试使用此代替最后两个命令:

//load the partial view
$('#result').load('@Url.Action("Grid", "Home")', { flip: false }, function(){
    //unblock the UI
    $.unblockUI();
});