关于 razor,.NET MVC 对 razor 的支持与 .NET razor 页面之间有什么区别?有什么称为 .NET MVC razor 页面吗?

问题描述 投票:0回答:1

.NET 目前有 5 种方法来构建通过访问服务器生成内容的网站:

  • .NET Framework 4.8 - MVC(出于本问题的目的忽略此)
  • .NET Framework 4.8 - Web 表单(出于本问题的目的忽略此)
  • .NET MVC 支持剃刀
  • .NET Razor 页面
  • Blazor(出于本问题的目的忽略此)

问题1:我想了解-关于razor的概念,.NET MVC对razor的支持与.NET razor页面之间有什么区别?我将尝试在下面给出我的理解:

  • 我知道第1点是MVC。第 2 点是 MVVM。

  • 我知道 - .NET MVC 对 razor 的支持是 MVC(模型、视图、控制器概念),在视图页面上支持 razor 语法,没有任何代码隐藏(我的意思是逻辑位于控制器级别)。而 .NET razor 页面是 MVVM 方法,如页面(razor 语法)和隐藏代码。

这是正确的吗?

问题2:我听到同事谈论.NET MVC razor页面。我很困惑,因为我从来没有遇到过这样的事情。我的理解是.NET MVC 与.NET Razor 页面不同。有没有什么叫做 .NET MVC razor 页面的东西?

问题 3:本文 (https://learn.microsoft.com/en-us/dotnet/architecture/modern-web-apps-azure/modern-web-applications-characteristics#traditional-and-spa-行为支持)提到:

ASP.NET Core 支持 MVC(基于视图或页面)

当名称(MVC)本身说它是基于视图时,MVC 如何是基于页面的?有人可以给我澄清一下吗?

asp.net-core asp.net-core-mvc razor-pages
1个回答
1
投票

Razor 是一种模板语法。它使 C# 能够嵌入到 HTML 中,以便您可以使用 C# 在运行时动态生成部分 HTML。

MVC 是一个服务器端开发框架,鼓励您使用模型-视图-控制器架构来构建 Web 应用程序。它使用 Razor 作为默认视图引擎。

Razor Pages 是另一种服务器端开发框架,它依赖于以页面为中心的 Web 应用程序开发方法。它使用 Razor 作为其模板语法。

MVVM 是一种设计模式,用于在客户端运行的应用程序 - 例如 WPF、Xamarin 和一些基于 Javascript 的 SPA 框架。我见过它用来描述 Razor Pages,但我不同意,并且觉得调用 Razor Pages MVVM 只会引起混乱。

ASP.NET Core MVC 鼓励“前端控制器”方法,因为单个控制器可以负责处理多个路由,其唯一的联系是它们与同一实体相关。 Razor Pages 也可以看作是使用页面控制器方法的 MVC 实现。 PageModel 类类似于页面的控制器。

© www.soinside.com 2019 - 2024. All rights reserved.