首页 新闻 会员 周边

ASP.NET MVC4 @Html.ActionLink 从Area 链接网站首页是我用错了,还是这是一个bug?

0
悬赏园豆:10 [已关闭问题] 关闭于 2014-12-27 14:42

在使用 html.ActionLink 时候遇到链接错误的情况。

我的代码是这样的:

@Html.ActionLink("Home2", "Index", "Home")
@Html.ActionLink("About2", "About", "Home")
@Html.ActionLink("Contact2", "Contact", "Home")
@Html.ActionLink("用户中心2", "Index", "Center", new { area = "user",id=123,sex=1 }, null)

在 Layout 添加以上几个 ActionLink ,我的目的是生成一些 a 表情,链接到 几个页面,其中有一个是 center area 的index 页面

 

现在的问题是,以上几个html 在 网站 area 以外生成的链接是正确的,如下:

<a href="/">Home2</a>
<a href="/Home/About">About2</a>
<a href="/Home/Contact">Contact2</a>
<a href="/User/Center/Index/123?sex=1">用户中心2</a>

问题来了,当我进入用户中心后,链接就变成这样了

<a href="/User/Home">Home2</a>
<a href="/User/Home/About">About2</a>
<a href="/User/Home/Contact">Contact2</a>
<a href="/User/Center/Index/123?sex=1">用户中心2</a>

每个链接前边都自动添加了 User,也就是说,我一旦进入 area,就再也无法通过链接跳转出来了。我尝试将写法这样改:

@Html.ActionLink("Home2", "Index", "Home",null,null)
@Html.ActionLink("About2", "About", "Home",null,null)
@Html.ActionLink("Contact2", "Contact", "Home",null,null)
@Html.ActionLink("用户中心2", "Index", "Center", new { area = "user",id=123,sex=1 }, null)

和这样改:

@Html.ActionLink("Home2", "Index", "Home", new { area = "" }, null)
@Html.ActionLink("About2", "About", "Home", new { area = "" }, null)
@Html.ActionLink("Contact2", "Contact", "Home", new { area = "" }, null)
@Html.ActionLink("用户中心2", "Index", "Center", new { area = "user", id = 123, sex = 1 }, null)

都无法达到我的目的,请教各位大虾,我应该怎么写?谢谢了。

 

 

西安-DB的主页 西安-DB | 初学一级 | 园豆:4
提问于:2014-09-15 00:15
< >
分享
所有回答(2)
0

最后一种写法是对的,应该可以达到你的目的。

webaspx | 园豆:1973 (小虾三级) | 2014-09-15 16:36

事实上,以上几种写法都无法生成正确的链接。

支持(0) 反对(0) 西安-DB | 园豆:4 (初学一级) | 2014-09-15 18:12

@西安-DB: 你可以看看这个问题http://q.cnblogs.com/q/35246/ 

跟你的问题一样的。

支持(0) 反对(0) webaspx | 园豆:1973 (小虾三级) | 2014-09-17 11:01

@webaspx: 不一样,那个问题是 从 area 外边跳进去。我是从里边跳出来。从外边跳进去我那个“用户中心2”是正常的。

支持(0) 反对(0) 西安-DB | 园豆:4 (初学一级) | 2014-09-17 18:07
0

不用这个了

西安-DB | 园豆:4 (初学一级) | 2014-12-27 14:41
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册