▲ 
    一、Layout属性
    1.1、@RenderPage():渲染制定的页面到占位符。
    注意:@RenderPage()可以使用多次,这点与@RenderBody()不同
    格式如: @RenderPage("~/Views/Home/Test.cshtml");则会把Test.cshtml页面内容加载到指定位置
    1.2、@RenderBody():直接渲染整个View到占位符处,不需要原来的<asp:Content/>(呈现子页的主体内容)
    注意:@RenderBody()只能在_Layout.cshtml使用一次。
    1.3、@RenderSection():声明一个占位符,和原来的<ContentPlaceHoler/>类似(呈现特别的杰部分)
    可以有两种声明方式:
        第一种方式(推荐):
        @RenderSection("SectionA",false)
        第2个参数为false,代表在详细View中可以实现,也可以不实现
        第2个参数为true,代表在详细View中必须要实现,否则报错
        第二种方式:    (IsSectionDefined()判断是否有子页实现)
        @if(IsSectionDefined("SectionB")){
        @RenderSection("SectionB");}
        格式如:@RenderSection("SectionA") 在_layout.cshtml页(母版页)这里相当于一个占位符
                结合
                @section SectionA{
                这是@RenderSection("SectionA")呈现出的内容。
                }(这是子页面)
   二、RenderPartial, RenderAction , Partial , Action 的使用选择
    2.1、Html.RenderPartial:将分部视图直接写入响应输出流,所以只能放在代码模块中,不能放在表达式中。
        2.1.1、这个方法会直接将结果写入到当前请求的http response数据流中,这以为着它使用了和当前webpage/template使用的相同的TextWrite对象
        2.1.2、方法没有返回值
        2.1.3、不需要创建action,使用简单
        2.1.4、格式如下:@{Html.RenderPartial("Links")};"Links"就是分部视图页的名称
        2.1.5、这个方法比Partial方法更快,因为它直接将结果系统到当前响应的数据流中
    2.2、Html.RenderAction:将分部视图直接写入响应输出流。
        2.2.1、和上个一样,执行结果会直接写入当前响应的数据流中
        2.2.2、需要创建child action方法
        2.2.3、格式如:@{Html.RenderAction("Category","Home");}
        2.2.4、如果你想缓存partial view,这是最好的选择
        2.2.5、这个方法比Action()方法快,基于第一条原因
    2.3、Html.Partial:以HTML-encoded 字符串展示
        2.3.1、结果以HTML-encoded 字符串展示
        2.3.2、返回的是string类型,所以结果可以存储在变量里
        2.3.3、使用简单,无需创建Action
        2.3.4、格式如:@Html.Partial("_Comments")
    2.4、Html.Action:直接展示为HtmlString
        2.4.1、直接展示为HtmlString
        2.4.2、需要创建对应的child action
        2.4.3、可以缓存partial view
        2.4.4、格式如:@{Html.Action("Category","Home");}
  ▼

.net Mvc4 View—布局页与分部页的更多相关文章

  1. asp.net MVC 4.0 View回顾——布局页与分部页

    asp.net MVC 4.0中总结 视图里加载部分视图几种方法 @RenderPage() 但它不能使用 原来视图的 Model 和 ViewData ,只能通过参数来传递. @RenderPage ...

  2. 爱上MVC~在Views的多级文件夹~续~分部页的支持

    回到目录 之前写的一篇文章,主要针对View视图,它可以放在N级目录下,不必须非要在views/controller/action这种关系了,而在程序运行过程中,发现分页视图对本功能并不支持,原因很简 ...

  3. MVC的布局页,视图布局页和分布页的使用

    一,结构如下图 二,布局页和视图布局页 1>使用方法一 _ViewStart.cshtml @{ Layout = "~/Views/Shared/_Layout.cshtml&quo ...

  4. 网页万能排版布局插件,web视图定位布局创意技术演示页

    html万能排版布局插件,是不是感觉很强大,原理其实很简单,不过功能很强大哈哈,大量节省排版布局时间啊! test.html <!doctype html> <html> &l ...

  5. ASP.NET MVC5 之 分部页

    1.分部页 _PartialPage.cshtml @model List<string> <a>完美世界</a> @foreach (var item in Mo ...

  6. Mvc4 Layout布局与页面SEO信息title,keyword,description

    工作已经五个年头了,在进入工作岗位时最初在.net 2.0平台一直到现在的.net 4.0平台下,开发了不少的winform.webform项目:五年的工作时间,在公司主持开发和维护了不少的电子商务w ...

  7. iOS开发——UI_swift篇&TableView实现页眉和页脚

    TableView实现页眉和页脚   在UItableView中header和footer是很常见的,而且他能让你实现很复杂的功能,我们见过最多的就是下拉刷新和上啦加载更多,当然你还可以在上面添加一个 ...

  8. Swift - 给表格TableView添加页眉和页脚

    UITableView具有var tableHeaderView:UIView?属性和var tableFooterView:UIView?属性,可以通过给其赋值来创建列表TableView的页眉和页 ...

  9. dede list列表页和文章页分别使用if else

    标签: dede 2015-01-25 19:33 755人阅读 评论(0) 收藏 举报 分类: [ Dede ](20) 版权声明:本文为博主原创文章,未经博主允许不得转载. list列表页中使用i ...

随机推荐

  1. Git 与 SVN对比详解

    一.Git vs SVNGit 和 SVN 孰优孰好,每个人有不同的体验. Git是分布式的,SVN是集中式的 这是 Git 和 SVN 最大的区别.若能掌握这个概念,两者区别基本搞懂大半.因为 Gi ...

  2. 数据结构之 AVL个人笔记

    从这位前辈的博客园中学习的数据结构:https://www.cnblogs.com/skywang12345/ 非常感谢这位前辈. 以下文章摘录于 :skywang12345的博客园:转载请注明出处: ...

  3. STM32 时钟配置的坑

    今天在调试公司的一款产品的时候发现8M的晶振用完了,于是找了一个16M的替代 坑爹的就在这里,明明已经把时钟按照时钟树配置好了,但是串口等外设一直无法正常工作 折腾了一下午,终于发现这位老兄的文章ht ...

  4. #define NULL ((void *)0)引起的风波

    1. 看下宏定义的结构体 typedef struct { ]; //CMEI/IMEI ]; //server ]; //CMEI/IMEI } Options; 2. 定义的NULL #defin ...

  5. 使用Python访问HDFS

    最近接触到大数据,对于Skpark和Hadoop的料及都停留在第一次听到这个名词时去搜一把看看大概介绍免得跟不上时代的层次. 在实际读了点别人的代码,又自己写了一些之后,虽然谈不上理解加深,至少对于大 ...

  6. 安装MySQLdb模块遭遇"fatal error: my_config.h: No such file or directory"的处理

    Issue       I encountered an error when I run the python script which need to import the module of & ...

  7. Qt-QML-关于两个平级的qml文件中的函数调用问题

    这几天还在继续搞我的QML,感悟就QML是坑的同时,也是一门很号的语言,用于快速搭界面是很好的.那么,这几天, 遇到一个问题,在下用一个框框画一下,希望可以理解 抽象派,解释一下,QML1和QML3是 ...

  8. 阿里云ECS下Ubuntu 16.04系统安装python3.6.5 环境并设置为默认

    一.添加python3.6安装包并安装: 二.修改系统默认python版本为3.6: 三.安装并升级pip版本: 一.添加python3.6安装包并安装: sudo apt-get install s ...

  9. vue中如何实现pdf文件预览?

    今天产品提出一个优化的需求,就是之前我们做的图片展示就是一个img标签搞定,由于我们做的是海外后台管理系统,那边的人上传的文件时pdf格式,vue本事是不支持这种格式文件展示的,于是就google搜索 ...

  10. Java学习 · 初识 多线程

    多线程 1. 基础概念 a)     程序 Program i.           静态代码,指令集,应用程序执行的蓝本 b)    进程 Process i.           动态概念,正在运 ...