我正在使用Visual Studio 2017和.NET Core 2.2。
执行以下操作:
在查看Startup.cs时,我想指出两个选项之间的区别:
如果仅选择“ Web应用程序”,则将在“配置”功能的底部获得该信息:
app.UseMvc();
如果选择Web应用程序(模型-视图-控制器),则会得到以下信息:
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
因此,MVC项目定义了某种类型的路由。专门告诉我默认情况下它将使用Home Controller,并且如果未指定任何操作,则将使用Index(.cshtml)操作。
第一个选项(剃刀页面),不路由任何内容。
我不明白。这是否意味着如果您不定义MapRoute,它将仅使用Index(.cshtml)操作?
因为在MVC项目中,如果我只是使用:
app.UseMvc();
并且没有定义MapRoute,我会得到一个404。Razor应用程序如何定义它的路由(以及在哪里)?