学习笔记37_MVC模板页
ASPX母版页:
1.添加一个母版页,位置../Views/Shared,有
<asp:ContentPlaceHolder ID = "ContentPlaceHolder1" runat="server">
</...>
2.添加一个Action,并添加视图,在添加视图的时候,勾选:
使用布局或母版页
../Views/Shared/Site.Master,如果没有Site.Master,则自己加
*Site.Master就是母版页了
在ContentPlaceHolder ID(H):中,填ContentPlaceHolder1
那么,内容就在子页面中的
<asp:Content ...></...>
MVC母版页:
*母版页存放于Views->Shared
*母版页中,有@RenderBody()相当于Webform的<asp:ContentPlaceHolder ID = "ContentPlaceHolder1" runat="server"></...>一样,扣了一个洞
*如果在创建MVC项目时,选择了项目类型为“基本”,那么,就会默认创建一个母版页_Layout.cshtml,其他Action页面创建时,如果使用:使用布局或母版页,并且不指定那个母版页,就会自动使用Views->Shared->_Layout.cshtml作为母版页。
*“基本”类型的MVC项目,会创建Views->_ViewStart.cshtml,仅有代码@{ layout = "~/Views/shared/_Layout.cshtml"},是在所有页面之前执行的。
其作用是,将_Layout.cshtml和子页关联到一块, 设置所有使用母版页的Action视图的默认母版页。有了这个东西,所有子页面,基本上就没有<head>,<body>之类,只有@{ ViewBag.title= "ActionName"}作为开头。
***如果子页面想改母版页,就可以在头部@{ViewBag.title="ActionName,Layout = "~/Views/shared/XXXXXXX.cshtml" },这跟在创建Action视图时,指定那个母版页效果是一样的。
***母版页开洞和子页填洞
1.母版页除了有@RenderBody()外,还可以@RenderSection("SectionName1",true);//洞的名称,以及子页面是否必须填洞。
2.子页面中:
@{
ViewBag.title = "ActionName",
Layout = "~/Views/shared/XXXXXXX.cshtml"
}
<h2>...,</h2>
<h1>...,</h1>
<h3>...,</h3>
//上面这些都是填充@RenderBody()的
@section SectionName1
{
<h2>...,</h2>
<h1>...,</h1>
<h3>...,</h3>
//这些都是填洞的
}
最新文章
- 如何获取苹果手机的UDID
- The first DP!
- IsPostBack--Asp.net
- 聚合数据天气预报API-ajax 通过城市名取数据
- node开发 npm install -g express-generator@4
- Linux下yum安装MPlayer 或 LVC视频播放器
- Filter 配置多个URL-PATTERN
- Swift Strings and Characters
- redux源码解读
- MMORPG战斗系统随笔(四)、优化客户端游戏性能
- win10 uwp 简单MasterDetail
- iOS Swift基础知识代码
- Linux常用命令详解(week1_day1_2)--技术流ken
- AngularJS学习之旅—AngularJS Select(十)
- restore not found的错误(问题2)
- linux进程控制开发实例
- Linux用户管理机制
- mvc5中重命名项目的名称后,出现";找到多个与名为“Home”的控制器匹配的类型";
- (转)USB 基本知识
- JVM虚拟机(四):JVM 垃圾回收机制概念及其算法