我定义了以下路线:
routes.MapRoute("Blog",
"Blog/{controller}/{action}",
new { controller = "Test", action = "Index" });
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
当我致电http://localhost/时,所有链接都是错误的并转到博客:
@ Html.ActionLink(“关于”,“关于”,“主页”)创建以下网址:
本地主机/博客/关于
但它应该创建
本地主机/关于
为什么HtmlActionLink总是在网址前加上“博客”?
答案 0 :(得分:1)
ActionLink
将匹配您传递给它的参数的第一条路线
由于您的Blog
路由包含controller
和action
参数,因此它将使用该路由。
您应该将Blog
路线更改为更具体。