如何解决ASP.NET Core MVC中视图中的异步行为?
经过研究,我决定在ASP.NET Core MVC中启动一个新网站。我了解页面是在服务器端呈现的,而不是在客户端上进行更多处理的SPA应用程序。一般而言,视图非常简单(基本表单/表格等),因此我选择不使用任何复杂的前端框架(如React / Angular)来降低复杂性。我在视图中使用的是带有Razor语法的标准ASP.NET Core MVC项目。
尽管我的观点很简单,但是我有一些合理的要求要集成到应用程序中。例如,当为用户呈现数据表时,需要从数据库中检索该数据,目前,我正在MVC控制器操作中执行此操作。控制器任务类型是异步的,但是在将视图模型(包含返回的数据库内容)返回到视图之前,我在存储库的操作中使用了await。
这会导致加载不同的页面花费很长时间,因为有时我会在返回视图之前 进行多个API调用或数据库查询,因为所有这些数据都包含在视图模型中并已处理在控制器动作中。
我希望加载网页并在要放置数据的表中显示加载图标(或类似图标)。然后,数据库调用成功后,将填充该表。这允许在页面可用时加载页面并填充表内容(例如)。对于SPA应用程序,这似乎更有可能/很常见。 我选择了错误的体系结构还是有办法在ASP.NET Core MVC中完成相似(非常合理)的视图结果?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。