ASP.NET MVC之Layout布局与@RenderBody、@RenderPage、@RenderSection
2024-10-16 00:36:38
@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
{
........
}
最新文章
- 启动OracleDBConsoleorcl失败,提示错误代码2
- 第5章 绘图基础_5.1-5.4 GDI绘图
- C#中快速释放内存,任务管理器可查证
- linux学习笔记1
- 《JavaScript模式》第2章 基本技巧
- ABBYY如何把PDF转换Excel
- Hadoop基础教程之HelloWord
- Java学习笔记(3)
- css案例学习之class执行的顺序
- C++ - Operator Precedence
- 承载于以太网帧之上的数据包的解析——ARP、IPv4、IPv6
- cura-engine学习(1)
- (ZT)算法杂货铺——分类算法之朴素贝叶斯分类(Naive Bayesian classification)
- Spring的AOP开发的相关术语
- Android root检测方法小结
- echarts x轴 增加滚动条
- Android Studio复制项目作为一个新的工程
- 如何利用好github的问题
- 吴裕雄 06-MySQL选择数据库
- 【插头DP】BZOJ3125-city