【问题标题】:Url.Action() with area returns empty string带区域的 Url.Action() 返回空字符串
【发布时间】:2013-02-15 15:51:36
【问题描述】:

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

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

我用其他选项做了一些测试,下面返回一个URL,但是是错误的:

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

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

有什么想法吗?

【问题讨论】:

    标签: asp.net-mvc


    【解决方案1】:

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

    【讨论】:

    • 查看T4MVC 以解决与 MVC 中的字符串相关的许多问题。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2018-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-23
      • 2015-07-05
      • 1970-01-01
      • 2020-01-27
      • 2020-07-11
      相关资源
      最近更新 更多