zoukankan      html  css  js  c++  java
  • asp.net mvc 4 高级编程学习笔记:第三章 视图(2)

    页面布局

     asp.net MVC中提供了布局的支持,默认情况下才布局文件保存到 /View/Shared/目录下的_Layout.cshtml,View目录有个_ViewStart.cshtml文件,里边的代码

    @{
        Layout = "~/Views/Shared/_Layout.cshtml";
    }

    指明了此目录下的默认布局文件是谁。可以将此代码添加到具体的View文件中来修改套用的模板页。

    可以将_ViewStart.cshtml文件创建到某个子目录中,用来设定此目录中所有视图的默认母版页。

    在此布局文件中,通过 @RenderBody() 代码嵌入内容页的内容。

    在此页面中还支持Section(区域),在模板页中通过 @RenderSection("scripts", required: false) 嵌入视图中所定义的区域内容。

    可以指定View中区域是否必须定义,View中通过如下代码定义一个区域

    @section 区域名
    
    {
    
      区域的内容
    
    }
    

    部分视图  

    ASP.NET MVC中提供了部分视图的功能,可以让你在页面中通过如下方式,去获取部分视图的内容,并嵌入到当前页面中。

    @{ Html.RenderPartial("视图名",参数); }
    @Html.Partial("视图名",参数); 
    @{ Html.RenderAction("actionName","controllerName","传递参数"); }  例如: @{Html.RenderAction("Test", "Home", new { s=item});} //s是Action的参数名
    @Html.Action("actionName","controllerName","传递参数")   

    其中Action表示去调用另一个Action里边的代码,通过参数传递需要的数据,通过Return PartialView(),将局部视图的内容嵌入到页面中。

    其中Partial表示将另一个局部视图的内容直接嵌入到页面中,并将局部视图所需要的数据通过参数传递过去。

    有Render开头的方法,局部视图的内容会被写入到当前视图的响应流中,效率稍微高一点。但是必须采用代码块方式 @{  代码  } 调用。

    不带Render开头的方法,返回的是一个字符串值,嵌入到页面中。

  • 相关阅读:
    技术债务墙:一种让技术债务可见并可协商的方法
    墙裂推荐
    shell 脚本通过Webhook 发送消息到微信群
    关于中医的一段对话 [ZZ] -- 思维训练故事
    应用深度神经网络预测学生期末成绩
    Python中的模块引用机制
    批量修改含空格的文件名「Linux」
    Markdown数学公式语法
    批处理修改IP
    FTD团队目录
  • 原文地址:https://www.cnblogs.com/feihusurfer/p/3990650.html
Copyright © 2011-2022 走看看