欢迎来到.net学习网

欢迎联系站长一起更新本网站!QQ:879621940

您当前所在位置:首页 » ASP.Net » 正文

热门阅读

详解ASP.NET MVC 3新的Layout布局系统

创建时间:2011年06月12日 23:38  阅读次数:(5797)
分享到:

I:回忆MVC2当中MasterPage那些事

大家先看下面的代码:

  1. <!------------Begin--------------> 
  2. <!-- Master文件 --> 
  3. <%@ Master Language="C#"   
  4.     Inherits="System.Web.Mvc.ViewMasterPage" %> 
  5. Master head  
  6. <asp:ContentPlaceHolder ID="MainContent" runat="server" /> 
  7. Master1...  
  8. <asp:ContentPlaceHolder ID="OtherContent" runat="server" /> 
  9. Master2...  
  10. <asp:ContentPlaceHolder ID="AnyContent" runat="server" /> 
  11. Master3...  
  12. <!-------------End---------------> 
  13.  
  14.  
  15. <!------------Begin--------------> 
  16. <!-- 某个View文件 --> 
  17. <%@ Page Language="C#"   
  18.     MasterPageFile="~/Views/Shared/Site.Master"   
  19.     Inherits="System.Web.Mvc.ViewPage" %> 
  20. <asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server"> 
  21. MainContent...  
  22. </asp:Content> 
  23.  
  24. <asp:Content ID="Content2" ContentPlaceHolderID="OtherContent" runat="server"> 
  25. OtherContent...  
  26. </asp:Content> 
  27.  
  28. <asp:Content ID="Content3" ContentPlaceHolderID="AnyContent" runat="server"> 
  29. AnyContent...  
  30. </asp:Content> 
  31. <!-------------End---------------> 
  32. <!------------Begin--------------> 
  33. <!-- 最后传回给客户端的文件 --> 
  34. Master head  
  35. MainContent...  
  36. Master1...  
  37. OtherContent...  
  38. Master2...  
  39. AnyContent...  
  40. Master3...  
  41. <!-------------End---------------> 

我们可以看到在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

image

下面进行逐一介绍:

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

打赏

取消

感谢您的支持,我会做的更好!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

最新评论

共有评论0条
  • 暂无任何评论,请留下您对本文章的看法,共同参入讨论!
发表评论:
留言人:
内  容:
请输入问题 21+52=? 的结果(结果是:73)
结  果: