I:回忆MVC2当中MasterPage那些事
大家先看下面的代码:
-
-
- <%@ Master Language="C#"
- Inherits="System.Web.Mvc.ViewMasterPage" %>
- Master head
- <asp:ContentPlaceHolder ID="MainContent" runat="server" />
- Master1...
- <asp:ContentPlaceHolder ID="OtherContent" runat="server" />
- Master2...
- <asp:ContentPlaceHolder ID="AnyContent" runat="server" />
- Master3...
-
-
-
-
-
- <%@ Page Language="C#"
- MasterPageFile="~/Views/Shared/Site.Master"
- Inherits="System.Web.Mvc.ViewPage" %>
- <asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">
- MainContent...
- </asp:Content>
-
- <asp:Content ID="Content2" ContentPlaceHolderID="OtherContent" runat="server">
- OtherContent...
- </asp:Content>
-
- <asp:Content ID="Content3" ContentPlaceHolderID="AnyContent" runat="server">
- AnyContent...
- </asp:Content>
-
-
-
- Master head
- MainContent...
- Master1...
- OtherContent...
- Master2...
- AnyContent...
- Master3...
-
我们可以看到在Master中ContentPlaceHolder服务端控件起到了一个占位符的作用.最后输出的,其实是在View当中的Content服务端控件内的内容,接下来开始介绍Layout.
II:ASP.NET MVC3 新的Layout布局系统
在MVC3当中我们可以利用新的Layout布局系统来代替掉原来在MVC2当中使用的MasterPage(当然在MVC3当中,如果你是继续使用ASPX视图引擎的话,那么还是可以用回原来的MasterPage,然后~~~~然后~你会和runat=”server”保持着从.NET 1.x到.NET 4.0以来从没有间断过的合作关系,可谓缘分呀!).
我们在VS2010 MVC3项目中创建Item时,从创建向导中可以看到以下新增的几个Item
下面进行逐一介绍:
Layout页:
该家伙其实就相当于原来的Master文件.为站点的统一主题界面和减少大部分冗余的Html,head,body标记曾作出过很大的贡献.可谓是功不可莫啊!MasterPage他的诞生是在.NET 2.0版本!在服役到.NET4.0版本后出现了一个新成员[Layout]去向他挑战.MasterPage能否经得起新成员的挑战呢?这个还是得留各位观众做详细对比吧!
Partial页:
相当于原来的UserControl.它可以为你减轻不少需要重复劳动的时间!
View页:
就是View啦.创建它时.一般都是在不需要使用Layout/MasterPage的时候.
View Page with Layout:
等同于原来的View Content Page.它的功能只是为了实现原来在Layout/MasterPage下所定义的占位符.当然在原来的MasterPage中如果你没有实现原先定义的占位符<asp:ContentPlaceHolder />,那么在最终合并输出的时候MasterPage占位符<asp:ContentPlaceHolder />那里就会输出空.
以上这4个新成员都是可以利用新的Razor视p
来源:
说明:所有来源为 .net学习网的文章均为原创,如有转载,请在转载处标注本页地址,谢谢!
【编辑:Wyf】
打赏
扫码打赏,您说多少就多少