Razor 页面和 Razor 视图

Razor Pages and Razor Views

在同一个 ASP.NET Core 2.0 应用程序中混合使用 Razor PagesRazor Views 是个好主意吗?

如果我没理解错的话,使用Razor Pages的好处是他们不需要控制器操作。在我的应用程序中,我有一些页面只是 return 一个 React 应用程序。我觉得 Razor Pages 非常适合这个,因为我在页面中只需要 link 到 bundle.js 文件。

话虽如此,我确实有几个页面需要控制器并发送视图模型。

那么,同时拥有页面和浏览量是个好主意还是我应该坚持一个而不是混合在一起?

最近在 docs 阅读有关 Razor Pages 的文章,Rick Anderson(ASP.Core 团队成员)在这里说:

You can mix controllers, views and Razor Pages. RP are unit testable (using code-behind). It's a good question. See https://github.com/aspnet/Mvc/issues/494#issuecomment-232534742 for motivation.

所以你可以混合。在我看来,我从文档中读到的唯一小问题是:

Note: The layout is in the Pages folder. Pages look for other views (layouts, templates, partials) hierarchically, starting in the same folder as the current page. This means that a layout in the Pages folder can be used from any Razor page under the Pages folder.

这意味着如果不修改 ASP 约定或编写一些自定义解决方案以使用相同的布局、模板、 Razor 页面和视图的部分。否则混合它们看起来非常好。