Razor Pages项目中的View目录是放到了Pages目录下,和我们MVC时候的Views 光看目录还是有差别的。拿MVC时代的首页  /Home/Index来说,物理路径是Views/Home/Index.cshtml, 在Pages里没有了控制器这一层少了目录。那在Razor Pages项目中我们能实现一样的功能吗?当然是可以的,还比MVC时代简单,拿以上的例子来说,要访问路径/Home/Index ,默认情况下目录是这样的。/Pages/Index.cshtml。我们可以建一个子目录放进去,/Pages/Home/Index.cshtml。这样就可以了吗? 对喽,可以了,不信你可以再访问/Home/Index试一试,就是这么 简单,相对功能但是少了一个Controller层。目录最后如下图。

001

 

lebang2020.cn出品。

目录差异说明

  • MVC:/Home/Index 对应的视图是 Views/Home/Index.cshtml,按控制器分目录。
  • Razor Pages:页面放在 Pages 目录下,没有控制器层,/Home/Index 对应 Pages/Home/Index.cshtml。
  • 页面模型(.cshtml.cs)与页面同名同目录。
  • 共享布局放在 Pages/Shared,_ViewImports 与 _ViewStart 也位于 Pages 下。

结论:Razor Pages 的路由即"文件路径",比 MVC 少一层控制器映射,更直观。