当我使用Html.ActionLink时,我发现@Html.ActionLink("Home", "Index", "home")
生成了这个字符串<a href="\">Home</a>
,为什么地址\home\index
变为\
,我发现这与默认情况有关在web.conf中设置的路由。我查看了mvc 3源代码,但我找不到答案。谁能帮我?感谢。
答案 0 :(得分:5)
这是由于默认路线造成的。如果您未指定默认操作和控制器,则会生成/home/index
作为网址。
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { id = UrlParameter.Optional }
);
答案 1 :(得分:2)
路由是双向的:
- in:它将传入的URL转换为控制器/动作/参数
- out:它将控制器/动作/参数转换为URL