ASP.NET Core MVC MapRoute默认

时间:2017-04-01 17:15:46

标签: asp.net-core asp.net-core-mvc asp.net-mvc-routing

我有以下MapRoute定义:

routes.MapRoute("default", "{controller=Home}/{action=Index}/{id?}");

正如您所看到的,这与官方默认完全相同。在文档中有关于默认值的解释:

  

默认和可选的路由参数不需要出现在   匹配的URL路径。

所以我在HomeController中创建了一个非常简单的附加操作来测试默认行为:

public String Test()
{
    return "Route found";
}

现在我试图理解为什么这个网址不起作用:'/ Test'

我预计如果我设置默认控制器值(= Home),那么路由器将在默认控制器中定义操作时找到该操作。

我也想知道这两种声明格式之间是否有任何区别:

routes.MapRoute("default", "{controller=Home}/{action=Index}/{id?}");
routes.MapRoute("default", "{controller}/{action}/{id?}", new { controller = "Home", action = "Index" });

0 个答案:

没有答案