zoukankan      html  css  js  c++  java
  • .net Mvc4 View—布局页与分部页

    ▲ 
        一、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");}
      ▼

  • 相关阅读:
    NBU7.0 RMAN 异机恢复 not found in NetBackup catalog
    配置Apache支持PHP5
    【浅墨Unity3D Shader编程】之中的一个 夏威夷篇:游戏场景的创建 &amp; 第一个Shader的书写
    关于 rman duplicate from active database 搭建dataguard--系列一
    <html>
    hdu 3622 二分+2-sat
    解决duilib水平布局(HorizontalLayout)中控件位置计算错误的问题
    Android SqlDelight具体解释和Demo样例
    HBase总结(十一)hbase Java API 介绍及使用演示样例
    [置顶] MyEclipse显示中文界面,在线安装教程
  • 原文地址:https://www.cnblogs.com/pingming/p/4506594.html
Copyright © 2011-2022 走看看