mvc4布局方法

概述

布局用来创建统一的外观(泛一点来说,就是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
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值