ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 11. Views 上


一般会使用外层模板的view,当作公共的模块
一般叫作_Layout.cshtml

views下新建Shared文件夹



主要关注RenderBody,这里会具体渲染Action返回的内容View

layout的title是在这里

ViewBage是个dynamic动态类型。既然是动态类型,我就能够在它身上写一些属性进行动态赋值

在Home/Index.cshtml内加了代码段,若是使用了Layout做为模板的话, 这里加的代码会先渲染。而后到了layout页面。@ViewBag他已经有值了 就会渲染出来
每一个页面均可以引用layout,均可以设置title的值,这个值就是动态的

引入模板页。波浪线是指的整个web项目的根目录

运行页面只看到title的效果

在模板页面加点内容

刷新就看到模板页的内容
html

Section代码块

如今只有这一块区域是动态的,有时候还须要其余的区域也是动态的
添加一个底部的区域

把代码包在代码块里




web

_ViewStart.cshtml

在Razor引擎,选择具体的Action的View页面以前会先找VIewStat.cshtml这个文件,若是这个文件存在的话
那么首先就会执行这个文件内的代码,而后才会执行其余View里面的代码,这里适合放重复性的代码,每一个View有的代码
好比Layout引入的这段代码

Views/_ViewStart.cshtml。名字必须是_ViewStart.cshtml。路径必须放在Views文件夹根目录下,这样才会对Views下的全部的页面起做用,
若是把它房子啊Home文件夹下,那么只会对Home文件夹下的View视图页面起做用


运行查看效果,明细页面也引用了layout

添加页面也引用了
3d

_ViewImports.cshtml


也是在View根目录下

把TagHelper的引入放在这里了

在Home/Index.cshtml要使用这个Model。要么是命名空间全写上

要么是使用using引入这个命名空间

把引入的代码放在_VIewImport.cshtml页面内

这里就不用写了

这是由于在渲染其余的页面以前,也会先找_VIewImport.cshtml。这里面适合作引用,引用自定义的名称空间和TagHelper。
也是ViewStart同样有结构性的。放在VIews根目录就会全部页面起做用,

其余页面的引用均可以移到这里

运行页面,均可以正常运行






 htm

相关文章
相关标签/搜索