“ razor”和“ cshtml”文件有什么区别

时间:2019-04-09 10:25:09

标签: asp.net razor

ASP.NET中的“剃须刀”和“ cshtml”文件有什么区别。我们应该在“ razor-components”应用程序中使用“ .razor”文件而不是cshtml吗?

7 个答案:

答案 0 :(得分:1)

Razor是一种标记语法,可让您使用C#将基于服务器的代码嵌入到网页中,而cshtml是剃刀文件的扩展名Cshtml = cs(C#)+ HTML

  

组件通常在Razor组件文件(.razor)中实现   结合使用C#和HTML标记(.cshtml文件用于   Blazor应用)。

.cshtml和.razor是同一回事 我们在blazor应用中使用.cshtml文件,在razor组件中使用.razor

答案 1 :(得分:1)

我可能是错的,但是在添加新的Razor页面时创建的.cshtml文件是新的html页面,而在添加新的Razor组件时创建的.razor文件是可以适合Razor的组件页面。

答案 2 :(得分:1)

由于 blazor 可以在客户端执行 c#,现在有 2 个地方 - 客户端和服务器 - 可以执行 razor 代码。所以客户端有扩展名“.razor”服务器端-“.schtml”

我创建了新的 WebAssemblyHosted 应用程序并发现:

  • 在解决方案中创建了 3 个项目:客户端、服务器和共享
  • Client 项目有 .razor 文件,没有 .cshtml 文件。 此项目将被编译并发送.dll到客户端,然后由集成在浏览器中的.Net执行
  • Server 项目有 .cshtml 文件,没有 .razor 文件。 这段代码在服务器上编译并执行,就像在旧的asp中一样
  • 共享项目包含客户端和服务器的通用类型/类。 现在(最后)您不需要像以前那样在服务器上的 C# 和客户端上的 JS 中两次声明模型类。因为你不需要将一个映射到另一个 :)

答案 3 :(得分:0)

这取决于您所指的ASP.NET ...

例如,对于Blazor:

从.NET Core 3.0 Preview 4 SDK(3.0.100-preview4-011223)开始,应注意:

  • 将所有_ViewImports.cshtml文件重命名为_Imports.razor。
  • 将所有剩余的.cshtml文件重命名为.razor。

因此,如果要使用.NET Core 3.0 Preview 4和更高版本构建Blazor Web App,则应使用.razor而不是.cshtml。

来源:https://devblogs.microsoft.com/aspnet/blazor-now-in-official-preview/

答案 4 :(得分:0)

在标准.cshtml文件中使用,并按以下方式实现:

<BlazorSample.Components.MyComponent />

这些新扩展名用于Razor组件。

https://docs.microsoft.com/en-us/aspnet/core/blazor/components/?view=aspnetcore-3.1

答案 5 :(得分:0)

.cshtml 文件是 razorpages 或 MVC 视图,它们不包含任何 C# 编写的客户端代码。如果你想这样做,你必须使用javascript。 但是,.razor 文件,也称为 Razor 组件,可以在其中编写 C# 并在客户端浏览器上运行。

答案 6 :(得分:-1)

razor可帮助您将服务器端代码(如C#代码)嵌入到网页中。 cshtml只是文件扩展名。剃刀视图引擎用于将剃刀页面(.cshtml)转换为html。