MVC中的布局页和WebForm中的母版页的作用是一样的。
1、MVC中的布局页(Razor)图解教程。
我暂时先放在Views文件夹下的Shared文件夹中。在Shared文件夹上右键 - - - - ->添加- - - - ->选择MVC4布局页(Razor)。新建立的页面布局页如下:
2、引用上面创建的布局页。
在控制器方法上右键选择添加视图,在弹出的对话框中视图引擎选择Razor(CSHTML)、下面选择使用布局模板页。
新建好的Razor视图界面如下:把布局页也引出来了。
3、分析一下布局页和Razor视图的关系。
根据上图可以看出在布局页中有一个 “@RenderBody()”,你可以理解成这是布局页留下的一个坑,而Razor视图页面中所有写的内容都将填入到布局页留的坑中。看下图可以验证一下。
我在布局页中添加了导航属性和底部的版权。
我在Razor中随便写一点内容,验证一下所写的内容是否是填入了布局页中的@RenderBody()的坑中。
我在浏览器地址栏中输入 域名/Home/ShowLayOutPage的时候,会把Razor视图中的内容渲染出来,如下:
从上图可以看出我只在Razor视图中输入的内容是 今天天气好晴朗,真适合出去跑着玩!,而红色字体则是布局页中加的,因此可以证明是填布局页中的@RenderBody坑。
还可以通过在Razor视图中检查网页源代码进行查看,由下图还可以证明。
4、还可以在布局页继续挖坑,比如在头部和脚部挖坑,然后在子页填坑填入相应的内容。语法:@RenderSection(参数);
在子页实现这个坑。语法:@section 坑名字{ }
End。