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模板页的使用方法 |