我是ASP.NET Core
和Razor
的新手,如果这在某处异常明显,我深表歉意。
经过一些研究,我选择在MVC
上使用Razor Pages,因为我认为这样做会有更多好处,并且喜欢页面模型等背后的代码的想法。我选择了ASP.NET Core Web Application
-> Web Application
并创建一个针对ASP.NET Core 2.2
的新项目。
默认模板显示为创建“纯” RP项目-例如。 Pages文件夹,而不是MVC的Controller / Models / Views。
我真的很困惑,因为RP项目中仍然存在MVC的元素-例如。 app.useMvc()
在Startup.cs中,包含_ViewStart.cshtml,并使用ViewData [“ x”]。
实际上,这很好,可以继续使用,但是遵循RP指南和假定的约定似乎很麻烦-例如。 _PageStart.cshtml在我的测试中实际上不起作用。
我要去哪里了-我是在读书还是太在乎呢?希望有人能启发我!预先感谢您尝试:)
答案 0 :(得分:1)
剃须刀页面虽然不使用控制器,但实际上是mvc框架的一部分,需要您调用app.UseMvc()才能初始化其所需的一切,包括路由等。
您还可以使用UseMvc对应用程序进行一些配置:
app.AddMvc()
.AddRazorPagesOptions(options =>
{
options.Conventions.Add("options");
});
有关更多信息,请访问https://docs.microsoft.com/en-us/aspnet/core/razor-pages/razor-pages-conventions?view=aspnetcore-2.2