ASP.NET MVC Section

ASP.NET MVC Section本篇文章我们来讨论一下ASP.NETMVC框架中的Section。Section主要用于将一部分代码插入到Layout页面中的指定位置。通俗地说就是,我们先在Layout页面中通过@RenderSection(“Header”)的方式挖一个坑,告诉下面的视图页面说,我这个地方有个坑,你们把你们各自相关的代码放进来吧。然后,使用该Layout的视图页面通过如下的方式将一坨坨的代码送到Layo

大家好,又见面了,我是你们的朋友全栈君。

本篇文章我们来讨论一下ASP.NET MVC框架中的Section。
Section主要用于将一部分代码插入到 Layout页面中的指定位置。通俗地说就是,我们先在 Layout页面中通过@RenderSection("Header")的方式挖一个坑,告诉下面的视图页面说,我这个地方有个坑,你们把你们各自相关的代码放进来吧。然后,使用该Layout的视图页面通过如下的方式将一坨坨的代码送到Layout的坑中。

@section Header {
    <div>
        我会出现在布局页中的指定位置
    </div>
}

为了使Layout和视图更好的合作,我们可以在Layout中挖坑时,声明这个坑是否必须被填上,也可以在视图中将要填坑时,判断Layout是否挖了这么一个坑。
Layout文件可以用下面的方式挖一个坑,同时声明这个坑可以填也可以不填

@RenderSection("Header", false)

在视图中可以通过下面的方式判断Layout是否已经挖好了这个坑

@if (IsSectionDefined("Header")) {
 @RenderSection("Header")
} else {
 <h4>This is the default header</h4>
}

在 Layout中有这么一行代码,@RenderBody(),它是个最大的坑,视图页面中除了声明在@RenderSection代码段中的代码以外的所有代码,都会被填到这个坑中。这种方式也比较好,否则的话,你就需要先在 Layout中声明@RenderSection("Body"),然后在所有的视图中声明@section Body{ }来填坑,这样太不优雅了。使用@RenderBody()的方式的话,刚入门的MVC程序员可以在不了解Section概念的情况下使用Layout。MVC框架的友好设计从这个地方略见一斑。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/162941.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • oracle字段换名语句,修改表名的sql语句

    oracle字段换名语句,修改表名的sql语句sql语句能不能修改表名可以。SQL自带了一系列的系统存储过程。其中sp_rename就具有修改表名和列名的功能。对于sp_rename是这样定义的:更改当前数据库中用户创建对象(如表、列或用户定义数据类型)的名称。基本语法:修改表名:EXECsp_rename'[原有表名]’,'[新表名]’;修改列名:EXECsp_rename'[原有列名]’,‘[新列名]’,’COLUMN’…

    2022年5月13日
  • Mac搭建PHP环境[通俗易懂]

    Mac搭建PHP环境[通俗易懂]一、配置环境1启动APacheMac系统本身自带Apache,所以可以直接打开。以下为两种方式:打开“系统设置偏好(SystemPreferences)”->“共享(Sharing)”->“Web共享(WebSharing)”打开“终端(terminal)“,然后输入sudoapachectlstart,使Apache运行。开启Apache就是开启Web共享,这时输入“http://localhost”,就可以看到“Itworks!”的页面Apache默认根目

    2022年9月22日
  • MySQL基于日志还原数据

    MySQL基于日志还原数据

    2022年2月15日
  • BGP与Anycast

    BGP与AnycastBGP属于一项技术,一般应用于IDC多线机房,也就是把接入到机房的多条线路融合为一体。实现多线单IP。因为最早的多线机房都是双线双IP,现在很多双线机房开始利用该技术,让用户使用IP的时候操作更简单些Anycast技术具有以下优势:一、不同客户端将访问不同目的主机,此过程对客户端透明,从而实现了目的主机的负载均衡;二、当任意目的主机接入的网络出现故障,导致该目的主机不可达…

    2022年5月24日
  • mac idea 2021 激活码【注册码】

    mac idea 2021 激活码【注册码】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月18日
  • 用户使用报告_2020年抖音用户画像报告[附下载] | 行业数据报告研读[通俗易懂]

    用户使用报告_2020年抖音用户画像报告[附下载] | 行业数据报告研读[通俗易懂]▼ 更多专业报告,请关注我们 ▼▼有趣回顾:▼【小时光面馆】专一先生和善变小姐油烟情书甲壳虫的最后一英里关注公众号,后台发送关键词“2020抖音用户画像”即可获取完整版PDF报告!报告摘要本篇报告针对的是18岁以上使用抖音行为的人群,对此进行规模大小、具体属性分析、兴趣爱好的数据整理,大部分数据都采自2020年1月。抖音用户规模数据截止至2020年1月,抖音日…

    2022年6月12日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号