Razor Pages
学习Razor Pages笔记
学习内容:https://learnrazorpages.com
Razor页面都是以.cshtml结尾,其中内容页面必须具有以下三个特征:
1,文件名首位不能是下划线
2,文件扩展名为.cshtml
3,文件的第一行是 @page
内容页面可以指定一个布局文件,但不是必须的。页面可以包含代码块、HTML、Javascript 和 内联Razor代码。
Razor代码块被@{ }包裹,内部为标准C#代码。
PageModel,推荐使用页面模型,页面模型通过 @model 模型名称 引入页面中。
不同类型的Razor文件
上述内容页面是可浏览的,以下划线开头的文件为不可浏览的页面,以下划线开头的页面通常为局部页面,其中三个具有特殊功能。
_Layout.cshtml 所有内容页面的模板,网站页面相同的部分放在此文件中,一般包括header、footer、导航栏等。
_ViewStart.cshtml
_ViewImports.cshtml
局部视图
局部视图或页面不参与路由,因此可以使用任何不生成页面模型的模板创建局部视图。
局部视图可以以很多方式引入都主页面中,ASP.NET Core 2.1 版本以后推荐使用 局部标签助手:
<partial name = "_MenuPartical"/>
name属性是不带扩展名的局部视图文件名称,或其路径,此属性值区分大小写。
一般局部视图文件不用写路径,框架会以特定顺序自动搜索。
局部视图不能有@page指令,但可以使用@model XXX,模型可传递进入局部视图。
ViewImports 文件
_ViewImports.cshtml文件提供集中添加指令的机制,避免每个页面单独添加。支持如下指令:
@addTagHelper
@inherits
@namespace
@inject
@model
@removeTaghelper
@tagHelperPrefix
@using
其中@addTagHelper, @removeTagHelper 和 @tagHelperPrefix 指令与 Tag Helpers的管理相关。
@namespace 指定被ViewImport影响的页面的命名空间,每个文件只能有一个@namespace指令
@inject 指令与依赖注入相关
@model 指定模型
@using 添加其他命名空间
_viewImport.cshtml文件的数量没有限制,可以存在多个,其中@addTagHelper, @removeTagHelper,@inject, @using指令会累加,其他指令会覆盖。
ViewStart 文件
_ViewStart.cshtml文件在每个Razor页面执行前执行,它影响同级文件夹及下级文件夹中的所有Razor页面。
原文地址:https://www.cnblogs.com/kevinN/p/15119660.html
- Spark Structured Streaming的高效处理-RunOnceTrigger
- Spark度量系统相关讲解
- Spark Structured Streaming高级特性
- Table API&SQL的基本概念及使用介绍
- 使用Linq to Sql 创建数据库和表
- Flink DataSet编程指南-demo演示及注意事项
- 解决 wcf HTTP 无法注册 另一应用程序正在使用 TCP 端口 80
- 构建Flink工程及demo演示
- F-Stack之kqueue封装为epoll介绍
- wcf http 返回图片
- F-Stack与Seastar对比
- Flink DataStream编程指南及使用注意事项。
- sqlserver 行转列
- FreeBSD下的工具(sysctl、netstat等)如何移植到F-Stack
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Tomcat NIO(8)-Poller线程的阻塞与唤醒
- 你的第一个React App (一 ) - 项目初始化
- 被JDK坑的没商量?来试试这些方法吧
- k8s 代码走读---client-go 编程交互测试代码
- C#网络类智能开关控制板实例
- Flume拦截器实现按照事件时间接入HDFS
- Day4.Linux用户权限
- 如何使用Canal同步MySQL的Binlog到Kafka
- Go 每日一库之 gabs
- 如何将Flink应用的日志发送到kafka
- 锦囊篇|Java中的SPI机制
- webpack实战——生产环境配置【上】
- 深度阅读之《Concurrency in Go》
- 为了不让代码看起来像一坨* 我在工作中反复用了这个
- 在 Go 语言中 Patch 非导出函数