MVC Razor引擎布局页面_Layout.cshtml

MVC布局页面出现在共享文件Shared下

1、@Styles.Render("~/Content/css")

  用来加载css,跟App_Start 文件夹下面的BundleConfig.cs相关联,要在BundleConfig.cs配置好css路径,代码如下

 bundles.Add(new StyleBundle("~/Content/css").Include("~/Content/site.css"));

  

   2、@Scripts.Render("~/bundles/modernizr")

  用来加载js,跟App_Start 文件夹下面的BundleConfig.cs相关联,要在BundleConfig.cs配置好js路径,代码如下

bundles.Add(new ScriptBundle("~/bundles/modernizr").Include("~/Scripts/modernizr-*"));

  

    3、@RenderSection("featured",required:false)

  RenderSection相当于在母版页占一个位置,解决子页面差异化问题,比如js、css引用或者调用

  两个参数,第二个参数默认为true,如果为true,子页面必须出现@RenderSection("featured")的实现,如果为false,则可有可无

   母版页代码

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta charset="utf-8" />
    <title>@ViewBag.Title - 我的 ASP.NET MVC 应用程序</title>
    <link href="~/favicon.ico" rel="shortcut icon" type="image/x-icon" />
    <meta name="viewport" content="width=device-width" />
    @Styles.Render("~/Content/css")
    @Scripts.Render("~/bundles/modernizr")
    @RenderSection("myscritp", false);
</head>

  子页面实现

@section myscript{
    <script type="text/javascript" src="/js/jquery.js"></script>
    function a()
    {
          alert("");  
    }
}

  

  4、@RenderBody()

  当创建基于_Layout.cshtml布局页面时,子页面内容将和布局页面合并呈现,子页面内容将在RenderBody()标签之间显示,RenderBody()没有参数,只出现一次

  5、@RenderPage()

  网页中固定的头部可以单独放在一个共享的视图文件中,然后在布局页面中通过这个方法调用,用法如下: 
  @RenderPage(“~/Views/Shared/_Header.cshtml”)  
  带参数 
  @RenderPage(“~/Views/Shared/_Header.cshtml”,new{parm="my",parm2="you")  
  调用页面获取参数: 
  //获取 RenderPage() 传递过来的参数 
  @PageData["param"] 

原文地址:https://www.cnblogs.com/kcjm/p/7346949.html