layout.cshtml母模块页中,除了使用@RenderBody()外,
还可以添加的子页或分部视图,如:
<body>
<!--header-->
@Html.Action("HeaderInfo", "Home", new { area = "", namespaces = "" })
<!--header end-->
<!--content-->
@RenderBody()
<!--content end-->
<!--footer-->
@Html.Action("FooterInfo", "Home", new { area = "", namespaces = "" })
<!--footer end-->
</body>
但一个网站中有许多网页的头部与底部相同时,可以用这种方法;但也有许多其它的网页没有头部与底部,可是网站的启动都是从 _ViewStart.cshtml这个文件开始的,里面又指向layout.cshtml,最后变成不需要头部与底部的页面,也有头部与底部。
那么,对不需要头部与底部的页面,该如何设置呢。
大家是直接这样写吗
<body>
@RenderBody()
</body>
提供多种方式,仅供参考:
1、直接设置@{Layout = null;}
2、在return View的地方,使用 return PartialView(),使用这个不会从_ViewStart去读取Layout;
3、重新添加一个不带页头页尾的Layout页,然后在@{Layout="new Layout Page";}
最简单的方法是再加一个模板页。用这个指向:
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
Layout=null
Layout=null +1