【发布时间】:2021-12-30 19:35:24
【问题描述】:
.NET 目前有 5 种方法来构建通过访问服务器生成内容的网站:
- .NET 框架 4.8 - MVC(出于本问题的目的忽略此)
- .NET 框架 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 pages 是类似于页面(razor 语法)和代码的 MVVM 方法。
这是正确的吗?
问题 2:我听到我的同事谈到 .NET MVC 剃须刀页面。我很困惑,因为我从来没有遇到过这样的事情。我的理解是 .NET MVC 与 .NET Razor 页面不同。有什么叫做.NET MVC razor pages 的东西吗?
ASP.NET Core 支持 MVC(基于视图或页面)
当名称 (MVC) 本身说它是基于视图时,MVC 如何是基于页面的?有人可以帮我解释一下吗?
【问题讨论】:
-
如果您真正阅读文档并完成教程而不是寻找一些学术定义,您会回答所有问题。 Razor 是一个营销名称。它用于 WebForms(MVC、Pages、Blazor)之后的 all Web 堆栈使用的语法。 MVC 使用的视图引擎称为 Razor Engine,因为它使用 Razor 语法。 Pages 不是 MVVM 实现,这就是为什么他们将类称为 PageModel,而不是 ViewModel。自 Backbone 以来,每个 MVVM 框架的行为都不同。
-
您的问题已在Choose an ASP.NET Core web UI 中得到解答。没有
.NET MVC Razor Pages这样的东西。但是您可以在同一个应用程序中同时使用 MVC 和 Pages。