带区域的Url.Action()返回空字符串

时间:2013-02-15 15:51:36

标签: asp.net-mvc

我在MVC 4中使用Razor。我正在尝试将区域中的视图中的URL设置为另一个区域中的控制器操作。以下命令返回一个空字符串:

    @Url.Action("Action", "MyController", new { area = "OtherArea" })

我已经使用其他选项进行了一些测试,以下内容返回了一个网址,但这是错误的:

    @Url.Action("Action", "MyController", new { parameter = 1 })

生成的URL是/ App / IncorrectArea / My / Action?参数= 1。注意不正确的区域; Url.Action假设(因为我没有通过某个区域)控制器位于当前区域,而不是它!

有什么想法吗?

2 个答案:

答案 0 :(得分:11)

找到我的问题。我更改了区域名称,但未能更新区域注册中的AreaName属性。

答案 1 :(得分:1)

我遇到了同样的问题,因为我将RegisterRoutes方法从{controller}/{action}/{id}更改为{action}/{id}只是为了从URL发出控制器名称