原文:http://www.cnblogs.com/highend/archive/2011/04/18/asp_net_mvc3_layout.html
Layout页:
该家伙其实就相当于原来的Master文件.
Partial页:
相当于原来的UserControl
View页:
View Page with Layout:
等同于原来的View Content
Page.它的功能只是为了实现原来在Layout/MasterPage下所定义的占位符.当然在原来的MasterPage中如果你没有实现原先定义
的占位符<asp:ContentPlaceHolder
/>,那么在最终合并输出的时候MasterPage占位符<asp:ContentPlaceHolder />那里就会输出空.
1.Layout页基础:
@RenderBody():直接渲染整个View到占位符处,而不需要原来所使用的<asp:Content />
使用:在~/Views/Shared/的LayoutPage文件
<!DOCTYPE html>
<html>
<head>
<title>@ViewBag.Title</title>
</head>
<body>
<div>
开始渲染Body<br />
@RenderBody()
渲染Body结束<br />
</div>
</body>
</html>
在~/Views/Home/Index.cshtml文件
@{
ViewBag.Title = "首页";
}
<div>
这里就是渲染Body啦.其实因为RenderBody()不在有歧义.
</div>
注意:默认路由配置(Global.asax)、项目的属性-web-启动操作(一般设置为当前页面)
Layout:
@RenderSection("SectionJS", false)
view:
@Render SectionJS{
内容
}
注:RenderSection可以很好的运用到css和js脚本上