下面是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();
}
答案 0 :(得分:2)
Load有一个你可以访问的回调 提供的回调在执行后处理后执行(当检测到成功的响应时)
尝试使用此代替最后两个命令:
//load the partial view
$('#result').load('@Url.Action("Grid", "Home")', { flip: false }, function(){
//unblock the UI
$.unblockUI();
});