我有一个asp.net MVC视图。在此视图上单击按钮应将用户重定向到另一个视图。第二个视图是用很少的局部视图构建的。其中一个部分视图需要很长时间才能加载,所以我不希望页面加载产生这种开销,我希望该部分视图在ajax调用上运行,这样它就可以异步运行。但是在重定向时,我想返回包含其他局部视图的第二个视图。请建议解决此问题的方法。
$(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调用。
发布于 2019-08-07 23:17:42
如果我理解正确,您希望在调用主视图之前加载分部视图。我认为这是不可能的。我建议在第二个视图中添加这个局部视图“惰性”加载。因此,对于第一个视图,您只需添加按钮单击事件:
$(document).on('click', '#buttonClick', function () {
window.location = '/some/someAction?id=123';
});
当您定位到第二个视图(someAction)时,您可以在加载DOM时加载就绪事件:
$(document).ready(function () {
$.ajax ({
type: 'GET',
url: '/some/LoadPartialView?id=123',
success: function(data){
$('#timeTakingPartialView').html(data);
}
});
});
因此,慢速局部视图的加载将被分开。
https://stackoverflow.com/questions/57397251
复制相似问题