【发布时间】:2019-08-30 14:48:13
【问题描述】:
ASP.NET 中的“razor”和“cshtml”文件有什么区别。我们应该在“razor-components”应用程序中使用“.razor”文件而不是“.cshtml”吗?
【问题讨论】:
ASP.NET 中的“razor”和“cshtml”文件有什么区别。我们应该在“razor-components”应用程序中使用“.razor”文件而不是“.cshtml”吗?
【问题讨论】:
这取决于你指的是哪个 ASP.NET...
例如,就 Blazor 而言:
从 .NET Core 3.0 Preview 4 SDK (3.0.100-preview4-011223) 开始,请注意:
因此,如果您使用 .NET Core 3.0 Preview 4 及更高版本构建 Blazor Web 应用程序,则应使用 .razor 而不是 .cshtml。
来源:https://devblogs.microsoft.com/aspnet/blazor-now-in-official-preview/
【讨论】:
_Host.cshtml 以及一些具有 .razor 扩展名的文件。这是为什么?由于您的回答,那些.cshtml 文件不应该被重命名为具有.razor 扩展名吗? (提前感谢您的帮助)
Razor 是一种标记语法,可让您使用 C# 将基于服务器的代码嵌入到网页中,而 cshtml 是 razor 文件的扩展名 Cshtml = cs (C#) + HTML
组件通常在 Razor 组件文件 (.razor) 中实现 使用 C# 和 HTML 标记的组合(.cshtml 文件用于 Blazor 应用程序)。
.cshtml 和 .razor 是一回事 我们在 blazor 应用程序中使用 .cshtml 文件,在 razor 组件中使用 .razor
【讨论】:
由于 Blazor 可以在客户端执行 C#,现在有 2 个地方 - 客户端和服务器 - 可以执行 Razor 代码。所以客户端有扩展名“.razor”和服务器端 - “.cshtml”
我创建了一个新的 WebAssemblyHosted 应用程序并发现:
【讨论】:
我可能错了,但是添加新 Razor 页面时创建的 .cshtml 文件是新的 html 页面,而添加新 Razor 组件时创建的 .razor 文件是适合 Razor 页面的组件。
【讨论】:
在您的标准 .cshtml 文件中使用,并像这样实现:
<BlazorSample.Components.MyComponent />
这些新扩展用于 Razor 组件。
https://docs.microsoft.com/en-us/aspnet/core/blazor/components/?view=aspnetcore-3.1
【讨论】:
.cshtml 文件是 razorpages 或 MVC 视图,它们不包含任何 C# 编写的客户端代码。如果你想这样做,你必须使用 JavaScript。 但是,.razor 文件,也称为 Razor 组件,可以在其中编写 C# 并在客户端的浏览器上运行。
【讨论】:
razor 可帮助您将服务器端代码(如 C# 代码)嵌入到网页中。 cshtml 只是一个文件扩展名。 razor 视图引擎用于将 razor pages(.cshtml) 转换为 html。
【讨论】: