如何加载 HTML 页面结束然后在 Razor 中发出请求

Posted

技术标签:

【中文标题】如何加载 HTML 页面结束然后在 Razor 中发出请求【英文标题】:How can I load a HTML page end then make a Request in Razor 【发布时间】:2022-01-24 02:13:21 【问题描述】:

我刚开始使用 Razor,我有一个疑问。

我有一个页面向数据库发出请求以填充表格,但该请求花费的时间太长,因此 html 等待加载请求以在 Web 浏览器中呈现。

这个请求太长了

<section id="studentList" class="form-group">
    <div class="table-responsive">
        @Html.RenderAction("Search", new  situation = 3, unity = "", course = "", ra = "", name = "", page = 1 );
        
    </div>
</section>

在我的 cshtml 页面中,我想先渲染 de HTML,然后执行此请求,以免出现在等待加载的空白页面中。

如果有人可以帮助我。

感谢您的关注,非常感谢您的帮助!

【问题讨论】:

【参考方案1】:

Html.Render(-X) 将始终在服务器端构建,因此浏览器需要等待您的结果完成,因为没有数据要传输。在准备好发送任何内容之前,需要完成部分视图。

由于 Razor 仍然只是“MVC”(吹毛求疵:是的,我知道,它不是“MVC”,我知道,这是一个粗略的简化,但由于缺乏更好的方式来解释这一点,请接受它“照原样”)。您还可以使用(如在“普通”网页上)javascript(或 jQuery 或任何您想要的框架)在 document.Ready 之后加载内容。

有多种方法可以实现这一点,我建议您从搜索“Razor Ajax”或“Razor partial refresh”之类的开始。

【讨论】:

哦,谢谢!所以 razor 在服务器端工作,这就是 HTML 等待整个请求被加载的原因。你有什么例子我该怎么做?非常感谢!

以上是关于如何加载 HTML 页面结束然后在 Razor 中发出请求的主要内容,如果未能解决你的问题,请参考以下文章

如何在页面加载之前创建欢迎动画屏幕?

ASP.NET C# 倒计时到报价结束 - Razor 视图

在 c# Razor 6.0 页面上的代码隐藏中访问 Html 控件

如何在同一个项目中同时拥有 MVC 和 Razor 页面?

Razor Pages 在页面加载时设置当前日期

Asp.net core razor pages 加载部分页面