为什么在创建 Razor Pages 项目时添加 app.UseMvc()?
Why is app.UseMvc() added when creating a Razor Pages Project?
我是 ASP.NET Core
和 Razor
的新手,如果这在某处非常明显,我深表歉意。
经过一些研究,我选择使用 Razor Pages 而不是 MVC
,因为我认为会有更多好处,并且喜欢页面模型背后的代码等想法。我选择了 ASP.NET Core Web Application
-> Web Application
并针对 ASP.NET Core 2.2
.
创建一个新项目
默认模板似乎可以创建 "pure" RP 项目 - 例如。 Pages 文件夹而不是 MVC 的 Controller/Models/Views.
我真的很困惑,因为 RP 项目中仍然有 MVC 的元素 - 例如。 app.useMvc()
在Startup.cs中,包含_ViewStart.cshtml,使用ViewData["x"]。
实际上这很好,可以继续,但随后遵循 RP 指南和假定的约定似乎失控了 - 例如。 _PageStart.cshtml 根据我的测试实际上不起作用。
我哪里出错了 - 我是在读它还是太在意了?希望有人能赐教!在此先感谢您的尝试:)
razor 页面虽然不使用控制器,但实际上是 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
我是 ASP.NET Core
和 Razor
的新手,如果这在某处非常明显,我深表歉意。
经过一些研究,我选择使用 Razor Pages 而不是 MVC
,因为我认为会有更多好处,并且喜欢页面模型背后的代码等想法。我选择了 ASP.NET Core Web Application
-> Web Application
并针对 ASP.NET Core 2.2
.
默认模板似乎可以创建 "pure" RP 项目 - 例如。 Pages 文件夹而不是 MVC 的 Controller/Models/Views.
我真的很困惑,因为 RP 项目中仍然有 MVC 的元素 - 例如。 app.useMvc()
在Startup.cs中,包含_ViewStart.cshtml,使用ViewData["x"]。
实际上这很好,可以继续,但随后遵循 RP 指南和假定的约定似乎失控了 - 例如。 _PageStart.cshtml 根据我的测试实际上不起作用。
我哪里出错了 - 我是在读它还是太在意了?希望有人能赐教!在此先感谢您的尝试:)
razor 页面虽然不使用控制器,但实际上是 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