【发布时间】:2018-06-15 18:10:41
【问题描述】:
在 SO Why is Razor Pages the recommended approach to create a Web UI in Asp.net Core 2.0? 有一个问题,Steve Smith 从文件更少的角度解释了使用 Razor Pages 而非完整 MVC 的好处。
我使用 Razor Pages 已经有一段时间了,并注意到尽管 Razor Pages 具有简单性的优点,但在自定义路由、结构化文件夹和复杂视图模型(页面模型似乎杂乱无章)方面有点复杂)。
所以,问题是:
- 如果除了页面的简单性之外,还有什么比控制器/视图更喜欢 Razor 页面 - 特别是我对这两个框架的性能感兴趣?
- 是否可以同时组合 Razor 页面和控制器/视图?
如果一些经验丰富的人分享您关于使用 Razor Pages 更好地理解此框架的想法(优点和缺点),我将不胜感激。
【问题讨论】:
-
@Jasen 感谢您的回答,很抱歉不清楚。在过去的 3 年中,我一直在使用完整的 MVC,然后 Microsoft 提出了将 Razor Pages 用于 UI 应用程序的建议。所以,我想知道是否有人已经开始使用该框架并同意遵循微软的建议。
-
@S.Serp 当然。我无法将 _ViewStart、_Layout、_ViewImports 移动到共享文件夹;如果我想将我的页面分组到一个文件夹中(这很明显),它会影响页面路由,并且覆盖常规路由的唯一方法是在 Startup.ConfigureServices 中配置 RazorPagesOptions(与我可以用属性装饰它的操作不同)。在某些情况下,我有很大的 ViewModel,里面有一些与 VM 相关的逻辑;如果我将页面的逻辑与 VM 的逻辑和属性结合起来,与 MVC 模型结构不同,页面看起来很丑(似乎违反了 SRP)。当然,所有所说的都是恕我直言。
-
@Jasen 表示我不会将两者混为一谈。为什么不?见github.com/Rick-Anderson/RP-vs-MVC/blob/master/README.md
-
微软对两者的立场 (from the tutorial here) 似乎是 Razor Pages 是经验不足的 ASP.NET Core 开发人员的更好切入点,而 MVC Core 是资深开发人员更灵活和可配置的范例.
-
@RickAndMSFT
Hit F7 in Visual Studio to toggle between them...我是 ASP.NET 新手,那里用于在 Razor 页面及其 PageModel 之间切换的小快捷方式让我更多地使用 Razor 页面。总是小事:-)
标签: asp.net-core-mvc razor-pages