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开头的方法,返回的是一个字符串值,嵌入到页面中。

  • 相关阅读:
    周易:简易、变易、不易
    2018.net面试题汇总
    关于《推荐系统实践》
    设计模式指引
    facebook的工程开发,不得不佩服
    eclipse自动补全的设置
    数据智慧工程师——计算机和人类之间的中间人——如何从数据中获取有价值的知识
    (移动位置社会网络中)LBSN:好友关系对人类活动的影响分析
    加快软件开发速度,eclipse最常用的快捷键
    人生是一对一的搏斗
  • 原文地址:https://www.cnblogs.com/feihusurfer/p/3990650.html
Copyright © 2011-2022 走看看