【ASP.NET】@RenderBody,@RenderPage,@RenderSection的使用
@RenderBody
@RenderBody是布局页(_Layout.cshtml)通过占位符@RenderBody占用独立部分,当创建基于此布局页的试图时,视图的内容会和布局页合并,而新创建的视图内容会通过布局页的@ReanderBody方法呈现在Body之间。
此方法不需要参数,且只能出现一次。
@RenderPage
要引用呈现的视图,如网站头部、底部可单独放在一个共享的视图文件夹中,然后在布局页中使用@RenderPage方法来引用,方法如下:
@RenderPage("~/Views/Shared/_Header.cshtml")
@RenderBody()
@RenderPage("~/Views/Shared/_Bottom.cshtml")
@RenderSection
@RenderSection就是在Layout布局页中定义了分段,留给使用该布局页的视图来实现。@Rendersection提供两个参数。
注:@RenderSection("head"),则表示视图中必须实现,否则会报异常错误。
@RenderSection("head", required: true),则表示视图中也必须实现,否则会报异常错误。
@RenderSection("head", required: false),则表示视图中可实现或不实现。
RenderSection实现默认内容:
@if (IsSectionDefined("head"))
{
@RenderSection("head", false);
}
else
{
<p>head的默认内容</p>
}
@IsSectionDefined是判断某个分段是否存在,如果存在就输出,否则输出默认内容。
在视图页中的实现方式:
@section head
{
........
}
原文链接:ASP.NET MVC之Layout布局@RenderBody,@RenderPage,@RenderSection是使用
分类:
C#_ASP.NET
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异