马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
既然话题已经抄起,我打算今晚发篇博文再引导一下舆论方向,使它再火两天,抛砖引玉,而且赵劼先生一直在跟帖,使.NET阵营的我感到万分难得。<p>I:回想MVC2傍边MasterPage那些事
人人先看上面的代码:
<olclass="dp-xml"><!------------Begin--------------><!--Master文件--><%@MasterLanguage="C#"Inherits="System.Web.Mvc.ViewMasterPage"%>Masterhead<asp:ContentPlaceHolderID="MainContent"runat="server"/>Master1...<asp:ContentPlaceHolderID="OtherContent"runat="server"/>Master2...<asp:ContentPlaceHolderID="AnyContent"runat="server"/>Master3...<!-------------End---------------><!------------Begin--------------><!--某个View文件--><%@PageLanguage="C#"MasterPageFile="~/Views/Shared/Site.Master"Inherits="System.Web.Mvc.ViewPage"%><asp:ContentID="Content1"ContentPlaceHolderID="MainContent"runat="server">MainContent...</asp:Content><asp:ContentID="Content2"ContentPlaceHolderID="OtherContent"runat="server">OtherContent...</asp:Content><asp:ContentID="Content3"ContentPlaceHolderID="AnyContent"runat="server">AnyContent...</asp:Content><!-------------End---------------><!------------Begin--------------><!--最初传回给客户真个文件-->MasterheadMainContent...Master1...OtherContent...Master2...AnyContent...Master3...<!-------------End--------------->
我们能够看到在Master中ContentPlaceHolder服务端控件起到了一个占位符的感化.最初输入的,实际上是在View傍边的Content服务端控件内的内容,接上去入手下手先容Layout.
II:ASP.NETMVC3新的Layout结构体系
在MVC3傍边我们能够使用新的Layout结构体系来取代失落本来在MVC2傍边利用的MasterPage(固然在MVC3傍边,假如你是持续利用ASPX视图引擎的话,那末仍是能够用回本来的MasterPage,然后~~~~然后~你会和runat=”server”坚持着从.NET1.x到.NET4.0以来从没有中断过的互助干系,可谓缘分呀!).
我们在VS2010MVC3项目中创立Item时,从创立导游中能够看到以下新增的几个Item
上面举行一一先容:
Layout页:
该家伙实在就相称于本来的Master文件.为站点的一致主题界面和削减年夜部分冗余的Html,head,body标志曾作出过很年夜的奉献.可谓是功不成莫啊!MasterPage他的出生是在.NET2.0版本!在退役到.NET4.0版本后呈现了一个新成员[Layout]去处他应战.MasterPage可否经得起新成员的应战呢?这个仍是得留列位不雅众做具体对照吧!
Partial页:
相称于本来的UserControl.它能够为你加重很多必要反复休息的工夫!
View页:
就是View啦.创立它时.一样平常都是在不必要利用Layout/MasterPage的时分.
ViewPagewithLayout:
同等于本来的ViewContentPage.它的功效只是为了完成本来在Layout/MasterPage下所界说的占位符.固然在本来的MasterPage中假如你没有完成本来界说的占位符<asp:ContentPlaceHolder/>,那末在终极兼并输入的时分MasterPage占位符<asp:ContentPlaceHolder/>那边就会输入空.
<p>以上这4个新成员都是能够使用新的Razor视捆绑编译器。用户不需要受制于厂家,自己就能将程序在新平台上编译运行。除了牛B轰轰的linux,估计也没有系统捆绑c/c++的编译器,而且许多新平台都无法支持复杂的c/c++编译器在上面直接运行。 |