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

teh*_*h4x 15 asp.net-mvc

我在MVC 4中使用Razor.我正在尝试从一个区域中的视图创建一个URL到另一个区域中的控制器操作.以下返回一个空字符串:

    @Url.Action("Action", "MyController", new { area = "OtherArea" })
Run Code Online (Sandbox Code Playgroud)

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

    @Url.Action("Action", "MyController", new { parameter = 1 })
Run Code Online (Sandbox Code Playgroud)

生成的URL是/ App/IncorrectArea/My/Action?parameter = 1.注意不正确的区域; Url.Action假设(因为我没有通过一个区域)控制器存在于它没有的当前区域!

有任何想法吗?

teh*_*h4x 12

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

  • 看一下[T4MVC](http://t4mvc.codeplex.com/)来修复与MVC中的字符串相关的许多问题. (4认同)