ASP.NET Core Razor Pages

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/365361.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

curd操作php代码,Laravel 5.6中的CURD操作(代码示例详解)

在本篇文章中,我将给大家分享laravel 5.6版本中的基本crud(创建,读取,更新和删除)应用程序模块。你可以按照下面的步骤在laravel 5.6中创建CRUD应用程序。Laravel是一个流行的开源PHP MVC框架,具有许多高级开发功能。如果你是lara…

为什么c++的开源库那么少?

为什么c的开源库那么少? 在开始前我有一些资料,是我根据自己从业十年经验,熬夜搞了几个通宵,精心整理了一份「 C的资料从专业入门到高级教程工具包」,点个关注,全部无偿共享给大家!!…

实施动态代理-比较

有时需要拦截某些方法调用,以便每次调用被拦截方法时都执行自己的逻辑。 如果您不属于Java EE的CDI领域,并且不想使用诸如Aspectj之类的AOP框架,那么您将有一个简单而有效的替代方法。 从1.5版开始,JDK附带了类java.lang.reflect…

结构专业规范大全_1.2万篇 建筑行业规范大全套!速来!

应广大站友以及会员用户对建筑规范的要求,我们整理了近几年来国家发布的各个专业的标准、规范、图集,以及全国各地共32个地区的区域标准,总计12000余篇,共计80G的建筑行业规范!BIMer自学站将会在一到两个月的之间内相继…

数据库如何进行索引优化

数据库索引 1.什么是索引 在数据库中,索引的含义与日常意义上的“索引”一词并无多大区别(想想小时候查字典),它是用于提高数据库表数据访问速度的数据库对象。A)索引可以避免全表扫描。多数查询可以仅扫描…

第二章总结

第二章 寄存器 1.CPU概述 一个典型的CPU由运算器、控制器、寄存器等器件组成。 内部总线实现CPU内部各个器件之间的联系。 外部总线实现CPU和主板上其它器件的联系。 2.通用寄存器 8086CPU中,寄存器AX, BX, CX, DX通常用于存放一般性数据,称为通用寄存器…

ashly理器4.8软件汉化版_AMD 处理器核心比英特尔多还更便宜?英特尔回应

IT之家 9 月 25 日消息 英特尔已在本月初发布了 11 代酷睿移动处理器,搭载 11 代酷睿的产品最早将在 10 月上市。现在,新浪科技访了英特尔公司中国零售销售集团总经理唐炯,就 11 代酷睿产品进行讨论。在谈到 AMD 处理器比英特尔便宜&#xff…

OutOfMemoryError:解决方案反模式

这些年来,我们一直密切关注以OutOfMemoryError消息的不同形式打包的问题。 通过专门的服务(例如Google警报),每天就特定关键字的新问题进行摘要,使我们对应用程序因日志中的java.lang.OutOfMemoryError失败而出现的情况…

leetcood学习笔记-58-最后一个单词的长度

题目描述: 第一次解答: class Solution:def lengthOfLastWord(self, s: str) -> int:Ls.strip().split(" ")if L[-1]"" :return 0return len(L[-1]) 优化后: class Solution:def lengthOfLastWord(self, s: str) ->…

Plyr – 简单,灵活的 HTML5 媒体播放器

Plyr 是一个简单的 HTML5 媒体播放器,包含自定义的控制选项和 WebVTT 字幕。它是只支持现代浏览器,轻量,方便和可定制的媒体播放器。还有的标题和屏幕阅读器的全面支持。 在线演示 源码下载 您可能感兴趣的相关文章网站开发中很有用的 …

第一章 SpringBoot快速入门

1.1、包依赖 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.5.14.RELEASE</version><relativePath/> <!-- lookup parent from repository --> …

solaris配置php,Solaris下安装Oracle_启动Oracle及监听

无论是在Linux下还是在Solaris下都安装过很多次Oracle&#xff0c;几乎都没成功过。最开始安装的时候连安装页面都见不到&#xff0c;后来&#xff0c;能够看到安无论是在Linux下还是在Solaris下都安装过很多次Oracle&#xff0c;几乎都没成功过。最开始安装的时候连安装页面都…

【C++】满二叉树问题

/* 给出一棵满二叉树的先序遍历&#xff0c;有两种节点&#xff1a;字母节点&#xff08;A-Z&#xff0c;无重复&#xff09;和空节点&#xff08;#&#xff09;。要求这个树的中序遍历。输出中序遍历时不需要输出#。 满二叉树的层数n满足1<n<5。Sample Input: ABC#D#ESa…

NativeScript - JS 构建跨平台的原生 APP

使用 NativeScript&#xff0c;你可以用现有的 JavaScript 和 CSS 技术来编写 iOS、Android 和 Windows Phone 原生移动应用程序。由原生平台的呈现引擎呈现界面而不是 WebView&#xff0c;正因为如此&#xff0c;应用程序的整个使用体验都是原生的。 NativeScript 使您可以使用…

java乱码base64,解决 JAVA WebSocket 解析 base64 后中文字符串乱码

解决 JAVA WebSocket 解析 base64 后中文字符串乱码解决 JAVA WebSocket 解析 base64 后中文字符串乱码春风如贵客&#xff0c;一到便繁华。各位看官先赞再看&#xff0c;养成好习惯(●?&#xff40;●)前言&#xff1a;项目基于WebSocket实现了一个功能&#xff0c;其中要接受…

Riot - 比 Facebook React 更轻量的 UI 库

Riot 是一个类似 Facebook React 的用户界面库&#xff0c;只有3.5KB&#xff0c;非常轻量。支持IE8 浏览器的自定义标签&#xff0c;虚拟 DOM&#xff0c;语法简洁。Riot 给前端开发人员提供了除 React 和 Ploymer 之外的新选择&#xff0c;值得一试。 在线演示 源码下载…

FormatJS – 让你的 Web 应用程序国际化

FormatJS 是一个模块化的集合&#xff0c;保护各种 JavaScript 国际化库&#xff0c;例如格式化数字&#xff0c;日期和字符串。它包括一组建立在 JavaScript 的国际内置插件和全行业的国际化标准&#xff0c;再加上一套集成的通用模板和组件库。 在线演示 源码下载 您可能…

Javascript执行上下文和执行栈

什么是执行上下文&#xff1f; 执行上下文就是当前JavaScript代码被解析和执行时所在环境的抽象概念&#xff0c;JavaScript中运行任何的代码都是在执行上下文。 什么是执行栈&#xff1f; 执行栈&#xff0c;在其他编程语言中也被叫做调用栈&#xff0c;具有LIFO&#xff08;后…

基于swagger进行接口文档的编写

0. 前言 近期忙于和各个银行的代收接口联调&#xff0c;根据遇到的问题&#xff0c;对之前编写的接口进行了修改&#xff0c;需求收集和设计接口时想到了方方面面&#xff0c;生产环境下还是会遇到意想不到的问题&#xff0c;好在基本的执行逻辑已确定&#xff0c;因此只是对接…

Hyhyhy – 专业的 HTML5 演示文稿工具

Hyhyhy 是创建好看的 HTML5 演示文档的工具。它具备很多的特点&#xff1a;支持 Markdown&#xff0c;嵌套幻灯片&#xff0c;数学排版&#xff0c;兼容性&#xff0c;语法高亮&#xff0c;使用 Javascript API &#xff0c;方便的骨架。它支持 Firefox 2 , Safari 3 , Opera 9…