网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 大学论文导航 设计下载 最新论文 下载排行 原创论文 论文源代码
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > ASP.net > 正文

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

来源:http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 13/01/06
求地址:/uploadfile/201301/6/2F184942664.png" />

如果这个RenderBody满足不了你的业务需求,请放心,在此介绍另外一个Render方式RenderPage().它可以让你指定要Render的页.

1.2.@RenderPage()方法的使用

在~/Views/Home/文件夹下新建立一个ViewPage1.cshtml文件,将内容改为如下:

  1. <div> 
  2.     这里是~/Views/Home/ViewPage1.cshtml,老规矩:还是不用写&lt;asp:Content /&gt; 
  3. </div> 

并在原来的_MyLayout.cshtml文件中增加几行代码变成下面的这个样子:

  1. <!DOCTYPE html> 
  2.  
  3. <html> 
  4. <head> 
  5.     <title>@ViewBag.Title</title> 
  6. </head> 
  7. <body> 
  8.     <div> 
  9.         开始渲染Body<br /> 
  10.         @RenderBody()  
  11.         渲染Body结束<br /> 
  12.         <br /> 
  13.         开始渲染其他页<br /> 
  14.         @RenderPage("~/Views/Home/ViewPage1.cshtml")  
  15.         渲染其他页结束<br /> 
  16.           
  17.     </div> 
  18. </body> 
  19. </html> 

我们来看最终的输出效果:

498)this.width=498;'' onmousewheel = ''javascript:return big(this)'' title="image" border="0" alt="image" src="/uploadfile/201301/6/AE184942485.png" />

在这里记住:@RenderBody()只能在_Layout.cshtml中使用一次,而@RenderPage()则可以使用多次!

好了在这里如果还有不明白的朋友们.我下面上个图说明Render的工作原理

498)this.width=498;'' onmousewheel = ''javascript:return big(this)'' title="image" border="0" alt="image" src="/uploadfile/201301/6/6B184942908.png" />

如果想要了解在Layout中如何使用类似于原来MasterPage中的<asp:ContentPlaceHolder /><asp:Content />功能请继续往下看.

III:在Layout布局系统中实现类似于原来MasterPage功能的实现方式

好,写到这里开始介绍上一章节中没有介绍完的两个东西:@RenderSection方法和@section标记

1.@RenderSection()方法等价于<asp:ContentPlaceHolder />,用途为在Layout中声明一个占位符.

操作:在原来的_MyLayout.cshtml文件中更改内容为如下:

  1. @{  
  2.     //some code  
  3. }  
  4. <!DOCTYPE html> 
  5.  
  6. <html> 
  7. <head> 
  8.     <title>@ViewBag.Title</title> 
  9. </head> 
  10. <body> 
  11.     <div> 
  12.         开始渲染Body<br /> 
  13.         @RenderBody()  
  14.         渲染Body结束<br /> 
  15.         <br /> 
  16.         开始渲染其他页<br /> 
  17.         @RenderPage("~/Views/Home/ViewPage1.cshtml")  
  18.         渲染其他页结束<br /> 
  19.         <br /> 
  20.         HOHO,开始学习Section了<br /> 
  21.         开始渲染Section<br /> 
  22.         声明方式1(推荐):SectionA:<br /> 
  23.         @RenderSection("SectionA", false)  
  24.         -------<br /> 
  25.           
  26.         声明方式2:SectionB:<br /> 
  27.         @{  
  28.             if (IsSectionDefined("SectionB"))  
  29.             {  
  30.                 @RenderSection("SectionB")  
  31.             }  
  32.         }  
  33.         -------<br /> 
  34.         渲染Sction结束<br /> 
  35.     </div> 
  36. </body> 
  37. </html> 

网学推荐

免费论文

原创论文

设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号