6

当我尝试Html.Action在 ASP.NET MVC 3 中使用与当前控制器不同的命名空间中的控制器时,我收到一个错误:

代码:

@Html.Action("Foo", "Application", new { id = "FG2" })

错误 :

找不到路径“/rrmvc/store/checkout”的控制器或未实现 IController。

仅当控制器与当前控制器位于不同的 NAMESPACE 中时才会发生此错误,ApplicationController例如StoreControllers.CheckoutController(实际上它们也位于完全不同的区域中)。

调用时是否无法指定名称空间Html.Action(完全限定名称空间之类的明显方法似乎都不起作用)?

没有可供使用的 lambda 方法,而且我在 MVC3 RTM 中使用时运气不佳。Html.RenderAction


编辑:我认为这可能与该地区有关 - 或者这也可能是一个完整的红鲱鱼。我在不同的命名空间中有另一个控制器可以正常工作 - 所以我认为问题更复杂。如果我弄清楚了,我会回答 - 或者如果不是为了避免混淆,就删除这个问题!

4

1 回答 1

7

如果控制器在不同的区域,您可以尝试指定此区域名称:

@Html.Action("Foo", "Application", new { id = "FG2", area = "foo" })

如果您已经在该区域内并且想要呈现位于根中的控制器上的操作,您可以尝试以下操作:

@Html.Action("Foo", "Application", new { id = "FG2", area = "" })
于 2011-03-11T06:50:23.537 回答