ASP.NET MVC3模板页的使用(2) |
|
本文为大家演示下MVC3中怎样使用模板页,在传统的webform设计模式中,我们使用masterpage作为模板页,在MVC3 razor视图设计中,我们使用另一种方式作为模板页 。 新建一个MVC3项目,在解决方案资源管理中,我们可以看到VIEWS文件夹下面有一个Shared文件夹 。在Shared文件夹里面有一个_Layout.cshtml页面 。这个就是项目中默认的模板页面 。如下图所示 :
1.新建内容页
使用模板页的页面,会自动在页面中生成代码 。来指定模板页,使用Layout来指定具体的模板页 。如果内容页中没有Layout属性,则使用的是默认的模板页
@{
ViewBag.Title = "ViewPageOne";
Layout = "'/Views/Shared/_Layout.cshtml";
}
<h2>ViewPageOne</h2>
如果Layout指定为null,则表示不使用模板页
@{
ViewBag.Title = "ViewPageOne";
Layout = null;
}
2.新建模板页 右键选择Shared文件,然后在菜单中选择添加 新建项,弹出添加新项对话框,然后选择MVC3布局页,这样就添加完成了布局页,下面的我们添加的布局页_LayoutPageOne.cshtml
3.为某个文件单独指定模板页
@{
ViewBag.Title = "ViewPageOne";
Layout="'/Views/Shared/_LayoutPageOne.cshtml";
}
<h2>ViewPageOne</h2>
4.为某个视图文件夹指定模板页
@{
Layout = "'/Views/Shared/_LayoutPageOne.cshtml";
}
这样就可以把一个controller下面的视图指定为使用一个模板文件 5.页面不使用模板页 模板页:
<!DOCTYPE html>
<html>
<head>
<title>欢迎 @ViewBag.Title</title>
</head>
<body>
<p>第2个模板页</p>
<div>
@RenderBody()
</div>
<div>
备注:
@RenderSection("Remark", false);
</div>
</body>
</html>
内容页:
@{
ViewBag.Title = "主页";
}
<h2>@ViewBag.Message</h2>
<p>
若要了解有关 ASP.NET MVC 的更多信息,请访问 <a href="http://asp.net/mvc" title="ASP.NET MVC 网站">http://asp.net/mvc</a> 。
</p>
@section Remark
{
我是主页
}
<p>欢迎</p>
8.@RenderPage
<!DOCTYPE html>
<html>
<head>
<title>欢迎 @ViewBag.Title</title>
</head>
<body>
<p>第2个模板页</p>
<div>
@RenderBody()
</div>
<div>
备注:
@RenderSection("Remark", false);
</div>
<footer>
@RenderPage("'/Views/Shared/footer.cshtml")
</footer>
</body>
</html>
9.@Html.Partial()与Html.RenderPartial()
<div id="logindisplay">
@Html.Partial("_PartialLogin")
@{
Html.RenderPartial("_PartialLogin");
}
</div>
以上就是ASP.NET MVC3模板页的使用方法 |