mvc中的异步页面加载

Posted

技术标签:

【中文标题】mvc中的异步页面加载【英文标题】:Async page load in mvc 【发布时间】:2015-01-17 19:52:19 【问题描述】:

我是mvc应用程序,有一些视图,视图中某些部分的数据在服务器端需要时间,所以我需要先加载视图的另一部分,当进程完成时,将加载剩余部分。

为此,我创建了一个局部视图,局部视图操作是异步的并返回一个任务。但在 Mvc 5 中,我不能在视图中使用 await 关键字。我为那个 mvc 6 解决了这个问题。

所以现在我正在使用 ajax 调用加载部分视图。但是我可以不用ajax调用吗?或者使用 c# 异步编程功能。

【问题讨论】:

好吧,如何使用Task.Run在线程池上使用异步任务编译控制器中的部分视图,然后返回html 【参考方案1】:

您必须在***操作中的控制器中执行异步操作 - 在 ASP.Net MVC5 之前的版本中,视图和子操作都不能是异步的。

或者等到 MVC6 准备好,或者如果你现在允许使用 MVC6 - vNext。

【讨论】:

是的,alexei 我研究了同样的问题,但我没有找到任何解决子动作可以异步的解决方案。当然,我们需要等待 vnext 稳定版。谢谢

以上是关于mvc中的异步页面加载的主要内容,如果未能解决你的问题,请参考以下文章

Spring MVC:如何在每个 Thymeleaf 页面上重新加载数据库中的登录用户信息?

使用 asp.net MVC 中的参数将 javascript 中的页面重新加载到特定控制器的操作方法

如何延迟或异步此 WordPress javascript 片段以最后加载以加快页面加载时间?

ASP.NET MVC 页面无法加载并显示“找不到资源”

如何在rails中异步加载部分页面

实现页面异步加载