HtmlHelper ActionLink省略区域(asp.net mvc 4)

时间:2012-01-27 16:34:47

标签: asp.net-mvc asp.net-mvc-routing asp.net-mvc-4 asp.net-mvc-areas

我有链接生成的问题 我有一个名为“Administration”的区域,它还有一个HomeController作为根, 在母版页

<li>@Html.ActionLink("Home", "Index", "Home")</li>
<li>@Html.ActionLink("Admin", "Index", "Home", new {area = "Administration"})</li>

此外,我继承了From Route,方法GetVirtualPath接受参数值 省略区域键,只传递控制器和动作。

我哪里出错了?

3 个答案:

答案 0 :(得分:6)

您使用不正确的过载。你应该使用LinkExtensions.ActionLink Method (HtmlHelper, String, String, String, Object, Object)(注意最后的最后一个参数)

@Html.ActionLink("Admin", "Index", "Home", new {area = "Administration"}, null)

答案 1 :(得分:1)

<li>@Html.ActionLink("Home", "Index", "Home", new {area = ""}, null)</li>
<li>@Html.ActionLink("Admin", "Index", "Home", new {area = "Administration"}, null)</li>

答案 2 :(得分:-1)

问题解决了,并且在DataTokens中。我只为区域定义区域,而不是根区域中的控制器。 现在它有效。谢谢!