Iva*_*uba 47 asp.net-core-mvc razor-pages
在SO上有一个问题为什么Razor Pages是在Asp.net Core 2.0中创建Web UI的推荐方法?史蒂夫史密斯从少量文件的角度解释了使用Razor Pages而不是完整MVC的好处.
我一直在使用Razor Pages,并注意到尽管Razor Page简洁的优点,但在自定义路由,结构化文件夹和复杂视图模型(页面模型似乎混乱)方面有点复杂.
所以,问题是:
如果一些有经验的人分享了关于使用Razor Pages更好地理解这个框架的想法(优点和缺点),我也将不胜感激.
Chr*_*ris 40
我们最近推出了一个相当不错的应用程序,使用前端的Razor Pages和客户端组件的API的MVC控制器.我的经验是这样的:
当您的内容围绕网站上的实际"页面"构思构建时,页面范例很有效.考虑诸如联系我们或关于甚至是登录页面之类的事情.当然,这些可以通过MVC完成,但MVC实际上是不必要的.一个简单的页面就足够了.将控制器留给更多控制器,如产品目录或用户数据库.
如果您的MVC架构围绕您的视图结构大量展开,那么剃刀页面可能非常合适.您仍然可以将MVC位用于API相关的东西,但页面的好处是您的前端结构变得更加明确且不那么隐含("基于约定"),就像MVC一样,每个动作可能有也可能没有通常以动作命名.
Mos*_*abo 29
尽管 Chris 对随标准 ASP.NET Core 实现一起提供的框架提供了明确的意见。人们还必须注意,MS 推荐 Razor Pages 有更深层次的原因,因为我是 Razor Pages 的忠实粉丝,所以他们对我来说很清楚。
如果除了页面的简单性之外,还有什么比控制器/视图更喜欢 Razor 页面 - 特别是我对这两个框架的性能感兴趣?
同时结合 Razor Pages 和 Controllers/Views 是否可以接受?
我一直在使用 Razor Pages 一段时间,并注意到尽管 Razor Page 具有简单性的优势,但在自定义路由、构造文件夹和复杂的视图模型(页面模型似乎很混乱)方面有点复杂。
[BindProperties]or [BindProperty],您可以将任意数量的字段导入到视图中……并记住绑定是双向的。除非你开始使用 Razor 页面,否则你会听到很多关于它的意见,有些会影响你使用它,有些像 Chris 会给你真实的反馈。但我的建议是,Razor 页面已经发展并在任何规模的任何应用程序中表现最佳......
我希望你会觉得这很有趣。
.Net 核心家族
小智 8
我已经经历了一些企业级应用程序的整个 Webforms、MVC、SPA 生命周期。这些是我的想法:
Webform 变得对 html 过于抽象。简单的演示很容易使用,但自定义最后一个标签却很棘手。
MVC 打破了一切都留给开发人员的模式。想法是将一切分开并将控制权交还给开发人员。不幸的是,它也变得更加复杂,简单的页面分散在三个不同的位置(模型、视图和控制器)。删除功能变得很棘手,因为它位于不同的位置,因此人们开始使用功能文件夹将所有 MVC 组件分组为单个功能。
在我看来,Razor 页面是一个更加标准化的功能文件夹,它们合并了控制器和模型以简化生活。我喜欢功能文件夹,出于同样的原因,我喜欢 Razor 页面。当功能位于一个位置时,它可以更轻松地删除功能,这对于更大的解决方案来说是关键。简化工作流程。
克里斯和莫西亚给出了很好的答案。克里斯写道
你听起来好像你还没有在 MVC 中做过一个非常繁重的应用程序
我看到剃刀页面(RP)在MVC与控制器和视图,当我移植的无显著优势开始使用ASP.NET MVC的核心开始到开始使用剃刀网页在ASP.NET核心启动。直到我将ASP.NET MVC Web 应用程序中的 EF Core 入门移植到Razor Pages with Entity Framework Core in ASP.NET Core 后,我才看到了显着的生产力优势。MVC/EF 绝不接近于真正的生产应用程序,它要简单得多。然而,它有足够的复杂性来证明 RP 相对于 MVC 的优势。
在与客户的访谈中,我听到的 UI 坚持使用控制器和视图的最常见原因是他们拥有现有的控制器/视图代码库。
首选 RP 而非 MVC 的最常见原因是防止控制器臃肿以及页面和视图之间更好的集成。
Razor Pages 与 ASP.NET Core MVC以及 为什么选择 MVC 教程而不是 Razor Pages提供了更多信息并添加了指向所有最佳MVC VS 的链接。RP内容。
为什么选择 MVC 教程而不是 Razor Pages 中的许多最佳评论都被隐藏了。搜索隐藏并选择加载更多...
| 归档时间: |
|
| 查看次数: |
17944 次 |
| 最近记录: |