mvc4布局方法

来源:互联网 发布:无敌淘宝网 编辑:程序博客网 时间:2024/04/30 01:05

概述

布局用来创建统一的外观(泛一点来说,就是html中的head等无关页面通用的部分),用vs2012创建默认的mvc4项目之后,布局文件为:Views \Shared\_Layout.cshml,而Views下的_ViewStart.cshml则是用来指定布局文件,只有下面一行代码:

@{    Layout = "~/Views/Shared/_Layout.cshtml";}

它会将此布局应用到当前Views中所有的页面中,如果不用此布局,则要在视图中自行指定布局,语法同上面代码一样,所以重要的是这个_ViewStart.cshml,它就像一个入口一样 ,如果用oo来理解,则可以说它是其他视图的基类(当在视图中指定了布局,则会替代_ViewStart.cshml中的设定)。

(如果使用了区域,则每个区域下的都会有一个_ViewStart.cshml文件,其配置同上面的概念一样)。


布局文件的一般样式

下面的代码来自w3School,它是一个布局文件:

<!DOCTYPE html><html><head><meta charset="utf-8" /><title>@ViewBag.Title</title><link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" /><script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")"></script><script src="@Url.Content("~/Scripts/modernizr-1.7.min.js")"></script></head><body><ul id="menu"><li>@Html.ActionLink("Home", "Index", "Home")</li><li>@Html.ActionLink("Movies", "Index", "Movies")</li><li>@Html.ActionLink("About", "About", "Home")</li></ul> <section id="main">@RenderBody()<p>Copyright W3schools 2012. All Rights Reserved.</p></section></body></html>

如果一个视图A应用了这个布局,A中的内容将填充@RenderBody()的位置,如果要用A中的section来填充布局文件的任何部分,则只需在布局文件中指定位置加上下面一段代码:

@RenderSection("target", required: false)


视图中用如下代码段,则在应用布局时,此代码会自动替代@RenderSection(……)这一段。

@Section target{……代码……}



0 0