学习新事物需要投入时间、空间和精力.我目前正在学习Asp.Net核心MVC 2.0.这ASP.NET Core tutorials overview个州:

Razor Pages是使用ASP创建Web UI的推荐方法.网芯

这个信息让我在决定是否必须停止学习Asp时感到困惑.net核心MVC并开始学习Asp.net核心剃须刀页面.

  • 为什么Razor Pages是在ASP.NET Core中创建Web UI的推荐方法?

欢迎指路.

推荐答案

Razor页面针对基于页面的工作流进行了优化,可以在这些场景中使用,与传统MVC模型相比,移动部件更少.这是因为您不需要处理控制器、动作、路由、视图模型和视图(通常会这样).相反,你的路由是基于惯例的,你的页面模型作为你的控制器、动作和视图模型集于一身.当然,页面将替换视图.你也不必像MVC那样拥有那么多的文件夹,从而进一步简化了你的项目.

Steve Smith》于2017年9月在MSDN上发表的一篇文章,摘自ASP.NET Core - Simpler ASP.NET MVC Apps with Razor Pages页:

[剃须刀页面]提供

  • 在ASP中组织代码的更简单方法.NET核心应用程序,使实现逻辑和视图模型更接近视图实现代码.
  • 它们还提供了一种更简单的方法来开始开发ASP.NET核心应用,

这篇文章提供了更多关于为什么在基于页面的工作流中使用Razor Pages over MVC的信息.显然,对于API,您仍然希望使用控制器.

第三方编辑-classic MVC文件夹组织的缺点

MSDN于2016年9月发表的一篇老文章ASP.NET Core - Feature Slices for ASP.NET Core MVC描述了为什么组织视图和控制器的classic MVC约定对于大型项目可能有缺点.本文给出了四个松散相关的应用程序概念的示例:Ninjas, Plants, Pirates and Zombies.本文概述了一种在默认文件夹约定之外构建它们的方法,即按功能或职责区域将文件组织到文件夹中.

Asp.net相关问答推荐

在Docker Windows中,ASP.NET核心容器在自定义端口8080上运行,但ASP.NET容器在固定端口80上运行

授权错误错误 400:C# 上的 redirect_uri_mismatch

Thread.CurrentPrincipal 错误地声称是匿名的

更改 GridView 中列的标题文本

使用 Owin 身份验证的服务器端声明缓存

Asp.Net 会话在 ashx 文件中为空

如何将 Web 应用程序项目转换为类库项目

IIS 6.0 通配符映射基准?

aspx 文件中的 if 语句

在 ASP.NET 中使用 Messenger Connect 客户端库时出现 Javascript 错误

我的 asp.net mvc Web 应用程序中的 OutputCache 设置.防止缓存的多种语法

InvalidOperationException:无法为角色创建 DbSet,因为此类型未包含在上下文模型中

如何将参数传递给 ASP.NET MVC 2 中的自定义 ActionFilter?

ASP.NET 身份,需要强密码

如何将我的 DDD 模型中的用户与身份验证用户集成?

当文件上传超出 ASP.NET MVC 中允许的大小时显示自定义错误页面

在后面的代码中删除 css 类

System.Linq.IQueryable 不包含Where的定义

.Net System.Mail.Message 添加多个收件人地址

IronRuby死了吗?