我知道这是一般方法:
routes.MapRoute
(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
但如果我这样尝试:
routes.MapRoute
(
name: "Defaults",
url: "Home/Index/1"
);
运行项目不会出现任何错误。我有Controller = Home
Action = Index()
,HomeController
但为什么当我在浏览器中输入时它会出错http://localhost:1702/Home/Index/1
?
错误:匹配的路由不包含“控制器”路由值,这是必需的。
路由中哪个部分是强制性的?另一个问题是:为什么我们需要Route Name
?? 如果我给name=""
它,即使存在不止一条路线,它也能正常工作name=""