一起学习MVC(3)Views的学习
? ? ?
- _ViewStart.cshtml、_Layout.cshtml、Index.cshtml三个页面加载时候的先后顺序就是:
_Layout.cshtml
ViewStart.cshtml
Index.cshtml
? ? ?
- 每个View下Controller对应的文件夹中,可以添加自己的_ViewStart.cshtml,用来指定独自使用的布局视图,采取就近原则(替View代根目录中的);
而且,_Layout框架的赋值语句:Layout="。。。",也可以加到任意一个View文件中,作为此文件的单独布局框架。
? ? ?
- Styles.Render(""),调用CSS。<link href="" rel="stylesheet"/>,需在BundleConfig.cs中进行设置。
Scripts.Render(""),调用JS。<script src=""></script>,需在BundleConfig.cs中进行设置。
@RenderBody(),用于占位,调用主显示页面。如在路由类里设置了Home,Index.则在此处调用index.cshtml
@Html.Partial("_Navigation"),调用分布视图,如导航页等。可用于配合AJAX的局部刷新
@RenderSection("scripts", required: false),占位节点。如为false,则为不是必须。可进行占位显示。
一个Layout可以包含多个分块(setions),例如,可以为Layout添加Footer分块
? ? ?
<footer>@RenderSection("Footer")</footer>
? ? ?
在使用这个Layout的View中,需要加入@section Footer{..}代码,来设置自己的footer,如:
? ? ?
@section Footer{ @@Copyright 2001-2015, All Right Received. }
? ? ?
但是,大多数时候,希望section都是可选的,可将其改为:
? ? ?
<footer>@RenderSection("Footer", required: flase) </footer>
? ? ?
更为通用的方式,是在设置可更改的Section时,配备一个默认的Section外观:
? ? ?
<footer>
? ? ?
@if (IsSctionDefined("Footer"))
? ? ?
{
? ? ?
RenderSection("Footer");
? ? ?
}
? ? ?
else
? ? ?
{
? ? ?
<span>This is the default footer. </span>
? ? ?
}
? ? ?
</footer>
? ??
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。