我创建了一个新的“asp.net核心Web应用程序”项目。不是MVC!。
我在stratup.cs中看到,在configure方法中:
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller}/{action=Index}/{id?}");
});
问题a:url直接映射到razor页面('/ Index'=> /Pages/Index.cshtml)。并且整个项目中没有IController, MVC的路由在这里做什么?
quetstion b:如果我想要另外的自定义路由,我可以在不将所有路由转换为MVC方法的情况下执行此操作吗?
答案 0 :(得分:1)
Razor页面是ASP.Net MVC的一个特性,因此依赖于某些服务和中间件,但它们提供了传统模型 - 控制器 - 视图方法的轻量级替代方案。 Razor视图表示View,代码隐藏类表示Model和Controller。
按惯例:
/Pages/Index.cshtml routes to / or /Index
/Pages/Contact.cshtml routes to /Contact
/Pages/Store/Contact.cshtml routes to /Store/Contact
要获得完整的答案,您应该阅读文档。