新しい管理者を私のプロジェクトに追加しました。かなり大きくなるようになったので、構造化しておきたいと思います。MVC領域とRenderActionを別のコントローラで管理するにはどうすればよいですか?
共有レイアウトページにメニューと一部のユーザー情報を含むように設定する_ViewStart.cshtmlビューがあります。私の地域のページにこれが追加されていないので、_ViewStartファイルも私のエリアに追加しました。
このファイルは、レイアウトを「〜/ Views/Shared/_Layout.cshtml」に設定します。これは管理領域外です。 ただし、_Layoutファイルにはレンダリングのためにコントローラ上で子アクションメソッドを呼び出すRenderAction()メソッドが含まれています。問題は領域がこのコントローラの可視性を持っていないようだということですので、次の例外がスローされます。
The controller for path '/Admin/LeadOrigin' was not found or does not implement IController.
それはしかし発生したポイントはここにある:
Line 70: <div id="logindisplay">
Line 71: @{
Line 72: Html.RenderAction("UserInfo", "Account");
Line 73: }
Line 74: </div>
RenderAction()アカウントのコントローラはビューのスコープ内にあるので、上記のように正常に機能しますが、管理者エリアではこのコントローラのスコープがないようです。
この問題を解決する方法はありますか?