6

Html.ActionASP.NET MVC 3で、現在のコントローラーとは異なる名前空間のコントローラーを使用しようとすると、エラーが発生します。

コード:

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

エラー :

パス'/rrmvc / store / checkout'のコントローラーが見つからないか、IControllerを実装していません。

ApplicationControllerこのエラーは、コントローラーが現在のコントローラーとは異なる名前空間にある場合にのみ発生しStoreControllers.CheckoutControllerます(実際には、コントローラーも完全に異なる領域にあります)。

呼び出すときに名前空間を指定する方法はありませんHtml.Action(名前空間を完全に修飾するような明白な方法はどれも機能しないようです)?

使用するラムダメソッドはなく、MVC3RTMで使用することはできませんでした。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 に答える