为什么@ Html.ActionLink(“主页”,“索引”,“主页”)生成<a href="\">Home</a>

时间:2012-01-31 12:48:24

标签: asp.net-mvc-3 model-view-controller url-routing

当我使用Html.ActionLink时,我发现@Html.ActionLink("Home", "Index", "home")生成了这个字符串<a href="\">Home</a>,为什么地址\home\index变为\,我发现这与默认情况有关在web.conf中设置的路由。我查看了mvc 3源代码,但我找不到答案。谁能帮我?感谢。

2 个答案:

答案 0 :(得分:5)

这是由于默认路线造成的。如果您未指定默认操作和控制器,则会生成/home/index作为网址。

routes.MapRoute(
    "Default",
    "{controller}/{action}/{id}",
    new { id = UrlParameter.Optional }
);

答案 1 :(得分:2)

路由是双向的:
- in:它将传入的URL转换为控制器/动作/参数
- out:它将控制器/动作/参数转换为URL