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

环境:vs2017 .net core2.2

Razor 页面项目搭建

目录说明

wwwroot:放置网站的静态文件的目录。例如/wwwroot/a.js,浏览器访问地址/a.js

依赖项:引用

Pages:存放razor页面。例如/Pages/index.cshtml,浏览器访问地址/index

  • _Layout.cshtml 是整个网站的母板文件,
  • _ViewStart.cshtml 负责设置所有Razor页面都会用到的Layout属性,
  • _ViewImports.cshtml 负责设置所有页面都会用到的指令,比如引入什么类库等
  • _ValidationScriptsPartial.cshtml 负责引用验证脚本,比如jquery的validation组件

appsettings.json:应用配置文件。可存放数据库链接字符串等信息

bower.json:静态资源包管理的配置文件

Program.cs:包含程序的入口点

Startup.cs:包含配置应用行为的代码,初始化配置

Razor页面介绍

.net core2中的新功能,是结合了web form和Mvc两个asp.net经典框架,另外还加入了mvvm理论(Model-View-ViewModel)而衍生出的新东西。razor页面包含view+controll,比mvc更轻量级,它属于mvc的一部分。设计有点像webform中的aspx。每个 Razor 页面都是一对文件。

  • 一个 .cshtml 文件,其中包含使用 Razor 语法的 C# 代码的 HTML 标记。
  • 一个 .cshtml.cs 文件,其中包含处理页面事件的 C# 代码。

注意:头部必须以@page开始。@page使文件转换为一个 MVC 操作 ,这意味着它将直接处理请求,而无需通过控制器处理。 @page 必须是页面上的第一个 Razor 指令。

页面的 URL 路径的关联由页面在文件系统中的位置决定。 下表显示了 Razor 页面路径及匹配的 URL:

文件名和路径 匹配的 URL
/Pages/Index.cshtml / 或 /Index
/Pages/Contact.cshtml /Contact
/Pages/Store/Contact.cshtml /Store/Contact
/Pages/Store/Index.cshtml /Store 或 /Store/Index

Razor Pages 按所列顺序搜索以下目录中的 Razor 资源(例如布局和分区):Pages文件夹——>/Pages/Shared/——>/Views/Shared/

你喜欢哪个妹子呢?

Razor 页面(CRUD)

数据库设计

创建模型

新建文件夹models,使用DB Frist模式生成模型

nuget执行脚本:

Install-Package Microsoft.EntityFrameworkCore.SqlServer

Install-Package Microsoft.EntityFrameworkCore.Tools

Install-Package Microsoft.VisualStudio.Web.CodeGeneration.Design

//生成model,用这个
Scaffold-DbContext "Server=.;Database=qiye2008;User ID=sa; Password=sa2008" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models

//更新models,以后更新用
Scaffold-DbContext "Server=.;Database=qiye2008;User ID=sa; Password=sa2008" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -Force

//如果出错,请Ctrl+Shift+B,解决完错误在重新执行
----------------------------------------------------

我的电脑提示下列错误,我是win7

PowerShell version 2.0 is not supported. Please upgrade PowerShell to 3.0 or greater and restart Visual Studio.

意思就是powershell版本太低需要升级,下载地址https://www.microsoft.com/zh-CN/download/details.aspx?id=40855,下载安装重启电脑。

如果安装不了请把后缀.msu修改为.cab,然后解压,然后单击开始---运行,输入dism /online /add-package /packagepath:"d:\123\Windows6.1-KB2819745-x64.cab",路径根据自己情况修改

如果还是安装不了请使用web platform installer安装

------------------------------------------------------

执行完,在models中生成了model和上下文DbContext,数据库链接字符串也在上下文中,

但是,.net core一般把数据库字符串保存在appsettings.json中,https://docs.microsoft.com/zh-cn/ef/core/miscellaneous/connection-strings

上下文还需要在Startup.cs中初始化。这两个可以让vs自动给咱完成。

添加基架:pages新建文件夹student,然后右键添加razor页面

创建的文件
  Pages/student:“创建”、“删除”、“详细信息”、“编辑”和“索引”。
  Data/EFContext.cs  //新创建的上下文,models中的上下文就可以删除了
文件已更新
  Startup.cs           //vs已自动将上下文注册到依赖关系注入容器

  appsettings.json  //需要自己修改下数据库链接字符串

//基架工具自动创建 DB 上下文并将其注册到依赖关系注入容器。

ok,ctrl+f5可以预览了

转载于:https://www.cnblogs.com/webapi/p/10511529.html

ASP.NET Core Razor Pages相关推荐

  1. ASP.NET Core - Razor页面之Handlers处理方法

    简介 在前一篇文章中,我们讨论了Razor页面.今天我们来谈谈处理方法(Handlers). 我们知道可以将代码和模型放在 .cshtml 文件里面或与 .cshtml 匹配的 .cshtml.cs ...

  2. 使用EntityFramework Core和Enums作为字符串的ASP.NET Core Razor页面——第一部分

    目录 介绍 背景 开发环境 使用代码 开始构建UI和数据访问 EF迁移和数据库创建 摘要 创建初始对象模型和数据库并显示第一个Razor页面 下载源码(QuantumWeb) 介绍 这是一篇由多部分组 ...

  3. 学习ASP.NET Core Razor 编程系列九——增加查询功能

    原文:学习ASP.NET Core Razor 编程系列九--增加查询功能 学习ASP.NET Core Razor 编程系列目录 学习ASP.NET Core Razor 编程系列一 学习ASP.N ...

  4. 学习ASP.NET Core Razor 编程系列五——Asp.Net Core Razor新建模板页面

    学习ASP.NET Core Razor 编程系列目录 学习ASP.NET Core Razor 编程系列一 学习ASP.NET Core Razor 编程系列二--添加一个实体 学习ASP.NET ...

  5. 学习ASP.NET Core Razor 编程系列十八——并发解决方案

    原文:学习ASP.NET Core Razor 编程系列十八--并发解决方案 学习ASP.NET Core Razor 编程系列目录 学习ASP.NET Core Razor 编程系列一 学习ASP. ...

  6. ASP.Net Core Razor 部署AdminLTE框架

    1.AdminLTE 一个基于 bootstrap 的轻量级后台模板 2.AdminLTE 文档 在线中文Demo:http://adminlte.la998.com/ 在线中文文档:http://a ...

  7. 如何ASP.NET Core Razor中处理Ajax请求

    在ASP.NET Core Razor(以下简称Razor)刚出来的时候,看了一下官方的文档,一直没怎么用过.今天闲来无事,准备用Rozor做个项目熟练下,结果写第一个页面就卡住了..折腾半天才搞好, ...

  8. ASP.Net Core Razor 页面路由

    在服务器端 Web 应用程序框架中,其中非常重要的设计是开发人员如何将URL与服务器上的资源进行匹配,以便正确的处理请求.最简单的方法是将 URL 映射到磁盘上的物理文件,在 Razor 页面框架中, ...

  9. ASP.NET Core - Razor 页面介绍

    简介 随着ASP.NET Core 2 即将来临,最热门的新事物是Razor页面.在之前的一篇文章中,我们简要介绍了ASP.NET Core Razor 页面. Razor页面是ASP.NET Cor ...

最新文章

  1. 深入研究Clang(九) Clang代码阅读之打log读流程2
  2. win2000堆的调试
  3. java限频_单个用户及Ip请求频率限制思路(附java实现)
  4. Java+Selenium+sikuli script入门使用
  5. OpenCV circle函数
  6. 配置错误:未能使用提供程序“RsaProtectedConfigurationProvider”进行解密。提供程序返回错误信息为: 打不开 RSA 密钥容器。...
  7. CSDN 1024,“猿”来在等你!
  8. SpringBoot + Spring Security 简单入门
  9. 算术的c语言程序设计,C 程序设计:变量与算术表达式
  10. Python获取路径中的文件名
  11. python面向对象:小结
  12. python手机版做小游戏代码大全-用Python设计一个经典小游戏
  13. simulink与gt联合仿真问题求解
  14. android 小米相机权限,小米如何设置访问相机权限设置
  15. 如何快速创建个人网站
  16. 前端个人长期的学习目标
  17. 无线网络有信号显示未连接网络连接服务器,路由器无线网络受限制或无连接怎么办...
  18. 自增(increment)、自减(decrement)操作符前缀形式与后缀形式的区别
  19. VS2015编译适用于XP系统sp3的dll全过程-无需vs2015运行库
  20. Solidworks如何为装配体绘制剖面视图

热门文章

  1. 第12秒做视频封面:阿里云视频截帧功能
  2. Atitit各种SDM 软件开发过程SDP sdm的ddd tdd bdd设计
  3. 很认真地聊一聊程序员的自我修养
  4. node源码详解(四) —— js代码如何调用C++的函数
  5. netif_start_queue/netif_wake_queue/netif_stop_queue
  6. 卷积,DFT,FFT,图像FFT,FIR 和 IIR 的物理意义
  7. Windows服务编写
  8. 电脑键盘上每个键的作用_眼看着淡出大众视野 键盘上Esc键的隐秘往事
  9. 解析URI与URL之间的区别与联系
  10. hp服务器370G5硬盘列阵,hp DL380 g5创建raid阵列安装系统准备工作