为什么需要在ASP.NET MVC中的RoutesTable的默认路由中指定控制器和操作
本文关键字:路由 默认 操作 控制器 RoutesTable ASP NET 中的 MVC 为什么 | 更新日期: 2023-09-27 17:58:40
为什么我们必须为默认路由指定默认值?
这是一条正常的默认路线:
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
路由中指定动作和控制器吗?
如果没有默认的参数集,路由应该如何知道将此URL发送到哪里?
/
默认情况下,您可以使用该URL,因此它知道使用"主页"控制器的"索引"方法。
或者:
/Articles
在这种情况下,将调用"文章"控制器的"索引"操作。如果没有这些默认值,路由就无法知道该做什么。