1

プロジェクトでエリアを使用していますが、これらのエリア内のビューをサブフォルダーに整理したいと考えています。

たとえば、Settings というコントローラーと MemberCategory という別のコントローラーを含む、Members という領域があります。MemberCategory は、事実上、Settings のサブフォルダーです。

URL の Member Category ビューにアクセスしたときに、Members/Settings/MemberCategory に解決したいと思います

現時点では、Members/MemberCategory に解決されます

ビューをサブフォルダーにネストし、コントローラーを指すように変更することは可能ですか?

return View("Members/Settings/MemberCategory");

それともルーティングでこれを行う必要がありますか?

任意の例をいただければ幸いです。

4

2 に答える 2

5

ルートでこの問題を解決し、ビューをサブフォルダーにネストしませんでした。

エリア登録ファイルで、デフォルト ルートの上に以下を追加しました。

    context.MapRoute(
        "MemberCategory",
        "Members/Settings/MemberCategory",
        new { controller = "MemberCategory", action = "Index" }
    );

    context.MapRoute(
        "MemberCategoryAction",
        "Members/Settings/MemberCategory/{action}/{id}",
        new { controller = "MemberCategory", action = "Index", id = UrlParameter.Optional }
    );

これが最もエレガントな方法かどうかはわかりませんが、私の場合はうまくいきます。

于 2012-09-12T14:35:26.037 に答える
1

次のようなこともできます。

return this.View("../MailTemplates/ResetPassword");

使用したいビューに到達します。コード エディターはこれを解決できませんが、機能します。

これは以下よりもきれいだと思います:

return this.View("~/Areas/Cms/MailTemplates/ResetPassword");
于 2013-01-10T10:18:03.977 に答える