Har*_*avi 3 asp.net-core-mvc .net-core
目前,我发现.net core有.net core Razor Page Application和.net core MVC应用程序。这里我有一些与之相关的问题。
从功能上来说,Razor Page 应用程序和 MVC 应用程序之间没有区别。ASP.NET Core 就是 ASP.NET Core。如果需要,您可以在同一应用程序中使用所有 MVC、Razor 页面、API 和 Razor 组件(即 Blazor)。项目模板只是帮助您以一种或另一种方式开始,但没有锁定。
就 Razor Page 与 MVC 方法而言,Razor Pages 本质上没有控制器。它们遵循 MVVM(模型-视图-视图模型)模式,而 MVC 则适当地遵循 MVC(模型-视图-控制器)模式。本质上,对于 Razor 页面,MVC 中的“控制器”内置于页面的模型中。
何时使用这主要是一种风格偏好。MVC 更加灵活,适用于所有用例。Razor Pages 稍微简单一些,但实用性也比较有限。也就是说,它们仅支持 GET 和 POST 方法,并且大多数情况下仅返回视图(即cshtmlRazor 页面的部分)。您可以让它们返回 JSON 等,但它们确实不适合这样做。如果您有一个需要通过 AJAX 检索数据的 Razor 页面,最好为此创建一个 MVC/API 样式的控制器。
Razor 页面的最后一个好处是它们独立且谨慎,而 MVC 往往更加模糊(多个操作返回多个不同的视图)。它们非常适合独立的事物。例如,ASP.NET Core 的身份默认 UI 使用 Razor 页面,例如、Register、等,其中每个单独事物的所有逻辑都是一个 Razor 页面。在 MVC 方法中,您将拥有类似 的东西,其中包含所有内容的所有逻辑,以及一组断开连接的视图来单独为每个操作提供服务。这并不是说 MVC 方法不好或错误,而是 Razor Pages 在这里更容易理解。然而,这又是关于风格的,而不是任何关键的方式。LoginResetPasswordAccountController
最后,总结一下,两者都不是“更快”或“更好”。这只是个人喜好。
| 归档时间: | 
 | 
| 查看次数: | 4896 次 | 
| 最近记录: |