首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >jQuery加载新视图,然后加载部分视图

jQuery加载新视图,然后加载部分视图
EN

Stack Overflow用户
提问于 2019-08-07 22:57:42
回答 1查看 246关注 0票数 1

我有一个asp.net MVC视图。在此视图上单击按钮应将用户重定向到另一个视图。第二个视图是用很少的局部视图构建的。其中一个部分视图需要很长时间才能加载,所以我不希望页面加载产生这种开销,我希望该部分视图在ajax调用上运行,这样它就可以异步运行。但是在重定向时,我想返回包含其他局部视图的第二个视图。请建议解决此问题的方法。

代码语言:javascript
运行
复制
 $(document).on('click', '#buttonClick', function () {
    window.location = '/some/someAction?id=123';
     $.ajax ({
        type: 'GET',
        url: '/some/LoadPartialView?id=123',

        success: function(data){
             $('#timeTakingPartialView').html(data);

        }
    });

});

在ajax调用之后,Window.location将重定向到第二个视图。所以reload跳过了ajax调用。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-07 23:17:42

如果我理解正确,您希望在调用主视图之前加载分部视图。我认为这是不可能的。我建议在第二个视图中添加这个局部视图“惰性”加载。因此,对于第一个视图,您只需添加按钮单击事件:

代码语言:javascript
运行
复制
$(document).on('click', '#buttonClick', function () {
    window.location = '/some/someAction?id=123'; 
});

当您定位到第二个视图(someAction)时,您可以在加载DOM时加载就绪事件:

代码语言:javascript
运行
复制
$(document).ready(function () {
     $.ajax ({
        type: 'GET',
        url: '/some/LoadPartialView?id=123',

        success: function(data){
             $('#timeTakingPartialView').html(data);
        }
    });
});

因此,慢速局部视图的加载将被分开。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57397251

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档