1、MVC布局简介
MVC布局常用Layout页(布局页),View页(视图页),Partial页(部分也,用户自定义控件)
2、Layout页基础
1)布局页一般放置在~/Views/Shared/目录下
视图页引用布局页时,使用Layout=~/Views/Shared/_Layout.cshtml
一般在_ViewStart.cshtml给所有view设置layout
2)@RenderBody()
使用@RenderBody()作为占位符,加载引用了这个layout的视图页
<!DOCTYPE html>
<html>
<head>
<title>@ViewBag.Title</title>
</head>
<body>
<div>
@RenderBody()
</div>
</body>
</html>
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
3)@RenderSection
布局页面还有节(Section)的概念,也就是说,如果某个视图模板中定义了一个节,那么可以把它单独呈现出来
为了防止因缺少节而出现异常,可以给RenderSection()提供第2个参数:
//第二个参数required=false,表示如果视图页没有定义,就不显示,但是不会报错
@RenderSection("head", false)
或
//如果没有定section就显示默认设置
@if (IsSectionDefined("head"))
{
@RenderSection("head", false)
}
else
{
<p>SubMenu Section is not defined!</p>
}
Layout:
@RenderSection("SectionJS", false<