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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • js数组的splice方法_js数组删除某一项

    js数组的splice方法_js数组删除某一项JS数组删除splice和delete

    2022年9月28日
    0
  • pyqt5环境配置_pyqt5 has no attribute version

    pyqt5环境配置_pyqt5 has no attribute version前言小编从c++qt5入坑,再到PyQt5,发现这个pycharm与PyQt5的配置也比较复杂(相对于c++qt5)这篇文章就记录下自己怎么配置成功的,万一以后需要用到,就可以直接查了。文中所用的软件版本PyCharm2021.1.3(ProfessionalEdition),如果有出入,注意变通其他:网上现存的教程安装的都是pyqt5-tools,而且他们的软件界面也不一样。配置目录如下所示,会配置3个:QTdesigner:方便首次新建一个不存在的.ui文件PyUIC:

    2022年8月27日
    0
  • socket传输中文出现乱码的解决[通俗易懂]

    socket传输中文出现乱码的解决[通俗易懂]socket传输中文出现乱码的解决 (2013-04-1114:57:03)转载▼ 分类: 技术知识socket服务端和客户端编码方式不一致将有可出现中文乱码问题,因此两边设成一样的就可以了socket服务端发送数据时设置编码方式PrintWriteroutput=newPrintWriter(new

    2022年7月8日
    212
  • java关于日期的运算等处理方法

    java关于日期的运算等处理方法

    2021年4月30日
    148
  • vivo21a点击android版本,vivoX21适配安卓P系统

    许多小伙伴们应该都是知道最近即将推出的AndroidP系统吧,这个系统十分的强大,如果你使用的是vivoX21那么你就有福利了,你可以使用vivoX21AndroidP升级这个系统。AndroidPbeta是vivoX21适配安卓P系统的一个好的系统,你可以使用vivoX21AndroidP对自己的手机进行全面性的升级,让你的手机跟上步伐,走的更靠前!vivoX21Android…

    2022年4月8日
    279
  • MongoDB和MySQL和Redis的区别

    MongoDB和MySQL和Redis的区别MongoDB和MySQL和Redis的区别MySQL1、在不同的引擎上有不同的存储方式。2、查询语句是使用传统的sql语句,拥有较为成熟的体系,成熟度很高。3、开源数据库的份额在不断增加,mysql的份额页在持续增长。4、缺点就是在海量数据处理的时候效率会显著变慢。MongoDBMongodb是非关系型数据库(nosql),属于文档型数据库。文档是mongoDB中数据的基本单元,类似关系数据库的行,多个键值对有序地放置在一起便是文档,语法有点类似javascript面向对象的查询语言,

    2022年6月26日
    23

发表回复

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

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