Razor简介

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Razor简介相关的知识,希望对你有一定的参考价值。

参考技术A

Razor引擎能够解析 .cshtml文件中编写的C#脚本,APS.NET Core内置了对Razor的支持,所以使用Razor时,不需要添加任何NuGet包,只需在 .cshtml文件中使用Razor时,在前面加上 @ 符号。例如

在*.cshtml文件中,也可以使用C#流程控制语句或语句块,如

在MVC设计模式中, @model 指令用来定义Controller传过来的数据类型,并将其填入View的Model属性中,这样View就可获取Controller传过来的模型数据。例如:

@inject 指令用来从DI容器中获取服务

@functions 指令可以在cshtml文件中定义方法

在MVC中,Controller和View是基于约定的,Controller的Action使用View()方法返回结果页面时,约定的查找cshtml文件的顺序为:

Views/ControllerName/ActionName.cshtml

Views/Shared/ActionName.cshtml

比如:url地址为 http://localhost:5001/home/index 对应的Controller为HomeController,Action为Index()

此时,MVC框架先去查找Views/Home/Index.cshtml 文件,如果没有,再找 Views/Shared/Index.cshtml 文件。

Razor中的Layout起到页面整体框架的作用(母版页),Layout文件放在Views/Shared/_Layout.cshtml中,要套用该Layout,需要在Razor页面中添加程序块

_ViewImports.cshtml 文件保存通用的@using语句

_ViewStart.cshtml 文件指定Layout模板

aspx和razor的区别

  ASPX简介:

  ASPX文件是微软的在服务器端运行的动态网页文件,通过IIS解析执行后可以得到动态页面,是微软推出的一种新的网络编程方法,而不是ASP的简单升级,因为它的编程方法和ASP有很大的不同,他是在服务器端靠服务器编译执行的程序代码,ASP 使用脚本语言,每次请求的时候,服务器调用脚本解析引擎来解析执行其中的程序代码,而ASP.NET则可以使用多种语言编写,而且是全编译执行的,比ASP 快,而且,不仅仅是快的问题,有很多优点。.asp是asp的文件后缀名,.aspx是asp.net的文件后缀名。

  Razor简介:

  Razor是一种简单的编程语法,用于在网页中嵌入服务器端代码。Razor 语法基于 ASP.NET 框架,该框架是微软的 .NET 框架特别为 web 应用程序开发而设计的组成部分。Razor 语法赋予所有 ASP.NET 的能力,但是使用了简化过的语法,如果您是初学者,则更容易学习,如果您是专家,则更有利于提高生产力。Razor 网页可被描述为带有两种内容的 HTML 页面:HTML 内容和 Razor 代码。当服务器读取这种页面后,在将 HTML 页面发送到浏览器之前,会首先运行 Razor 代码。这些在服务器上执行的代码能够完成浏览器中无法完成的任务,比如访问服务器数据库。服务器代码能够在页面被发送到浏览器之前创建动态的 HTML 内容。

  从浏览器来看的话,由服务器代码生成的 HTML 与静态 HTML 内容没有区别。使用 Razor 语法的 ASP.NET 网页拥有特殊的文件扩展名 cshtml(使用 C# 的 Razor 语法)或者 vbhtml(使用 VB 的 Razor)。

语法区别如下:

参考技术A

两个引擎语法完全不一样,性能上Asp.Net略占优势,语法糖则是razor的强项。

开发MVC3首选razorRazor 是主流。。语法不一样
Razor 简洁


   

本回答被提问者和网友采纳

以上是关于Razor简介的主要内容,如果未能解决你的问题,请参考以下文章

十:Razor语法

Blazor Hybrid / MAUI 简介和实战

基于动作的重定向 ASP.Net Core Razor

aspx和razor的区别

AutoRest - 具有 C# 和 Razor 模板的 Swagger 规范代码生成器。

[MVC&Core]ASP.NET Core MVC 视图传值入门