首页 > 编程语言 >ASP.NET MVC之Layout布局与@RenderBody、@RenderPage、@RenderSection

ASP.NET MVC之Layout布局与@RenderBody、@RenderPage、@RenderSection

时间:2024-06-05 13:44:00浏览次数:24  
标签:RenderSection head ASP Layout 布局 RenderBody RenderPage 视图

原文链接:https://www.cnblogs.com/liujie2272/p/6279925.html

@RenderBody
@RenderBody是布局页(_Layout.cshtml)通过占位符@RenderBody占用独立部分,当创建基于此布局页的试图时,视图的内容会和布局页合并,而新创建的视图内容会通过布局页的@ReanderBody方法呈现在Body之间。

此方法不需要参数,且只能出现一次。

@RenderPage
要引用呈现的视图,如网站头部、底部可单独放在一个共享的视图文件夹中,然后在布局页中使用@RenderPage方法来引用,方法如下:

@RenderPage("~/Views/Shared/_Header.cshtml")
@RenderBody()
@RenderPage("~/Views/Shared/_Bottom.cshtml")
@RenderSection
@RenderSection就是在Layout布局页中定义了分段,留给使用该布局页的视图来实现。@Rendersection提供两个参数。

注:@RenderSection("head"),则表示视图中必须实现,否则会报异常错误。

      @RenderSection("head", required: true),则表示视图中也必须实现,否则会报异常错误。

      @RenderSection("head", required: false),则表示视图中可实现或不实现。

      RenderSection实现默认内容:


@if (IsSectionDefined("head"))
{
  @RenderSection("head", false);
}
else
{
  <p>head的默认内容</p>
}

 @IsSectionDefined是判断某个分段是否存在,如果存在就输出,否则输出默认内容。

在视图页中的实现方式:

@section head
{
........
}

标签:RenderSection,head,ASP,Layout,布局,RenderBody,RenderPage,视图
From: https://www.cnblogs.com/Dongmy/p/18232821

相关文章

  • Layout布局
    原文链接:https://www.cnblogs.com/maoyazhi/p/5946455.htmllayout方式布局就是相当于一个模板一样的,相当于定义好了框架,作为一个母版页的,使用布局或母版页的好处是,我们不需要在每个视图中都设置一份相同的内容,在它下面的页面需要修改不同代码的地方使用@RenderBody()方法。<!DO......
  • 宏集ASPION高性能加速度记录仪,为您的货物运输定制专属监测方案
    一. 运输货物的荷载根据圣加仑大学的一项研究,在全球货物运输中,三分之一的货物因运输损坏而被收件人投诉。无论是由于振动还是天气的影响,物流业每天都会发生损坏,尽管原因往往还不清楚。电子数据记录器允许可靠地记录运输过程中的事件,为此,运输过程中发生的负载信息至关重要。......
  • Gitlab Runner在Windows如何自动发布基于.NET Framework 4.8的传统ASP.NET Web应用程
    摘要软件流水线能把程序员从繁琐的发布工作中解脱出来,但是跑在WindowsIIS里的传统Web应用程序,用Docker的方式不是最方便的。本文详细描述如何用Windows的OpenSSHServer来上传网站后,用PowerShell创建和修改IIS的虚拟目录应用程序。一、自动打包传统ASP.NETWeb应用程序1、Gitl......
  • ASP.NET Web应用程序升级最新的MSBuild格式后,Visual Studio 2022中如何调试?
    摘要把ASP.NET的Web应用程序,Project文件从<ProjectToolsVersion="12.0"DefaultTargets="Build"xmlns="http://schemas.microsoft.com/developer/msbuild/2003">改为<ProjectSdk="Microsoft.NET.Sdk.Web">之后,升级成了最新的格式之后,如......
  • ASP.NET Web应用程序升级最新的MSBuild格式后,Visual Studio 2022中如何调试?
    摘要把ASP.NET的Web应用程序,Project文件从<ProjectToolsVersion="12.0"DefaultTargets="Build"xmlns="http://schemas.microsoft.com/developer/msbuild/2003">改为<ProjectSdk="Microsoft.NET.Sdk.Web">之后,升级成了最新的格式之后,如......
  • Flutter 中的 LayoutBuilder 小部件:全面指南
    Flutter中的LayoutBuilder小部件:全面指南Flutter是一个功能丰富的UI框架,它允许开发者使用Dart语言来构建高性能、美观的跨平台应用。在Flutter的布局系统中,LayoutBuilder是一个强大的组件,它可以根据父容器的约束动态调整其子组件的布局。本文将为您提供一个全面......
  • MAUI:Compatibility.Layout<T> 不显示任何内容
    我在Xamarin->MAUI转换中苦苦挣扎,并被Compatibility.Layout<T>中的问题所困扰,它无法显示任何内容。我希望看到一个标签(相同的代码可在Xamarin表单中使用)。下面是Maui和Xamarin的代码和截图。我遗漏了什么?以下是我的MAUI代码(无法正常......
  • P4878 [USACO05DEC] Layout G
    原题链接大概思路我们已知一组不等式的解可以通过建边然后求最短路/最长路来得出而这里要求\(D_n-D_1\)的最大值,所以我们要求最短路。补充为什么要求最短路?对于任何一组不等式,我们都可以写成\(a_i-b_i\leqc_i\)建边含义假设\(D_n-D_1\)有最大值,那么通过这组不等......
  • ASP.NET Core 的 Razor 语法参考
    原文链接:https://learn.microsoft.com/zh-cn/aspnet/core/mvc/views/razor?view=aspnetcore-8.0Razor是一种标记语法,用于将基于.NET的代码嵌入网页中。Razor语法由Razor标记、C#和HTML组成。包含Razor的文件通常具有.cshtml文件扩展名。也可在Razor组件文件(......
  • OWASP API Security Top 10解读
    数字经济时代,无论是互联网商业创新还是传统企业数字化转型,都在推动API数量与应用范围的爆发式增长。从只用于企业内部服务调用的1.0时代,到面向服务架构的2.0时代,再到如今成为开放平台和云原生微服务的3.0时代,API正在成为数字世界的基础设施,在企业的业务体系中发挥着越来越重要......