为什么我们必须指定默认路由的默认值?
这是正常的默认路线:
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
为什么我不能这样做:
routes.MapRoute(
name: "Default",
url: "Home/Index/{id}",
defaults: new {id = UrlParameter.Optional }
);
我已经指定了动作和控制器,但是当我使用这种方式时,我收到了一个错误。有谁知道为什么你必须在default
路线中指定动作和控制器?
答案 0 :(得分:1)
如果没有默认的参数集,路由应该如何知道发送此URL的位置?
/
默认设置允许您执行该网址,因此它知道使用' Home'控制器的索引'方法
或者:
/Articles
在这种情况下,'指数' “文章”的行动'控制器将被调用。如果没有这些默认值,路由无法知道该怎么做。