学习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页面。

Razor Pages的更多相关文章

  1. [译]ASP.NET Core揭秘 - Razor Pages

    原文 什么是Razor Pages? Razor pages是ASP.NET Core 2.0的新特性,它被设计用来更快的开发页面,比传统的MVC模式更便捷. 创建项目 为了使用Razor Pages ...

  2. 学习 razor pages 指南

    这是一个系列,我打算把此人的系列翻译一下,学习技术的同时,顺便提高一下英文水平. 原文地址:https://www.learnrazorpages.com/ 前言 欢迎来学习 razor pages ...

  3. asp.net core 的 razor pages 如何使用ajax调用后台方法

    Razor 是一种允许您向网页中嵌入基于服务器的代码(Visual Basic 和 C#)的标记语法. 当网页被写入浏览器时,基于服务器的代码能够创建动态内容. 在网页加载时,服务器在向浏览器返回页面 ...

  4. Razor Pages with ASP.NET Core 2

    With ASP.NET Core 2 we get another way of building web applications. It’s one of those new things th ...

  5. ASP.NET Core Razor Pages

    Razor 页面是Asp.Net Core2.0新增的一个功能.Razor 页面是 ASP.NET Core MVC 的一个新特性,它可以使基于页面的编码方式更简单高效. 环境:vs2017 .net ...

  6. Introduction to Razor Pages in ASP.NET Core

    https://docs.microsoft.com/en-us/aspnet/core/mvc/razor-pages/ 从ASP.NET Core 2.0.0版本之后,添加了新的特性Razor p ...

  7. 【翻译】介绍 ASP.NET Core 中的 Razor Pages

    介绍 ASP.NET Core 中的 Razor Pages 原文地址:Introduction to Razor Pages in ASP.NET Core         译文地址:介绍 asp. ...

  8. ASP.NET CORE RAZOR :在 ASP.NET Core 中开始使用 Razor Pages

    来自:https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/razor-pages/razor-pages-start 系统必备安装以下组件:. ...

  9. 使用.net core基于Razor Pages开发网站一些工作笔记

    本文是在实践工作中遇到的一些问题记录,并给出是如何解决的,.net core已经升级到3.0版本了,其实在项目中很早就已经在使用.net core来开发后台接口了,正好有个网站项目,就使用了Razor ...

  10. 基于ASP.NET Core 3.0快速搭建Razor Pages Web应用

    前言 虽然说学习新的开发框架是一项巨大的投资,但是作为一个开发人员,不断学习新的技术并快速上手是我们应该掌握的技能,甚至是一个.NET Framework开发人员,学习.NET Core 新框架可以更 ...

随机推荐

  1. ExtJs4学习(十)Grid单元格换色和行换色的方法

    Grid单元格换色 { text:'类别', dataIndex:'type', align:'center', renderer:function(value,metaData){ console. ...

  2. MySQL 插入中文后,显示为空白

    https://blog.csdn.net/sun_hj_95/article/details/79488583 在MySQL中插入中文后,显示如下: 解决方案: 在my.ini (在MySQL的安装 ...

  3. 大厂高级工程师面试必问系列:Java动态代理机制和实现原理详解

    代理模式 Java动态代理运用了设计模式中常用的代理模式 代理模式: 目的就是为其他对象提供一个代理用来控制对某个真实对象的访问 代理类的作用: 为委托类预处理消息 过滤消息并转发消息 进行消息被委托 ...

  4. Vue3 + Cesium + Typescript 集成搭建的快速启动模板(包含示例数据)

    开门见山 项目地址:https://github.com/tanghaojie/vue3-cesium-typescript-start-up-template 好用的话给个star呗,有更新可以第一 ...

  5. java基础---类和对象(1)

    一. 类和对象 面向对象:以属性和行为的观点去分析现实生活中的事物,将功能封装进对象, 强调具备了功能的对象,以类/对象为最小单位,考虑谁来做 面向过程:强调的是功能行为,以函数为最小单位,考虑怎么做 ...

  6. Django基础013--redis开发

    1.redis配置 在settings.py中加入以下代码块,可支持多个redis的配置 1 CACHES = { 2 "default": { 3 "BACKEND&q ...

  7. 电子物流中的EDI 应用

    电子物流中的EDI 应用 背景 EDI 全称是Electronic data interchange, 即电子数据交换.在传统企业里,很多流程上的操作或者通信一般是由纸质媒介完成的,比如说采购订单.发 ...

  8. DNS Bind日志详述

    简介 在默认情况下,BIND9 把日志消息写到 /var/log/messages 文件中,而这些日志消息是非常少的,主要就是启动,关闭的日志记录和一些严重错误的消息:而将调试日志信息写入 BIND ...

  9. springboot多个service互相调用的事务处理(十三)

    在一个service的方法A中,调用另一个service的方法B,方法A和方法B均存在数据库插入操作,需要添加如下配置: @Transactional(rollbackFor = Exception. ...

  10. 开发工具IDE从入门到爱不释手(六)常用插件Git

    Git 环境准备 本地基本操作 本地文件关联git管理 文件提交git Ctrl+K:提交 关联远程仓库 先注册github账号 连接本地 git菜单 撤销提交 追加提交 Code Review