2

大規模な Sitecore 6.6 MVC サイトで作業しています。正直なところ、Google で良い情報を見つけるのに苦労しています。

私の質問はここにあります。コントローラー レンダリングで Sitecore コンテンツ エディターを使用しています。このコントローラ レンダリングが MVC プロジェクトの MVC AREA を指すようにします。

Sitecore のコントローラー レンダリングのデータ セクションには、 コントローラーコントローラー アクションの 2 つのテキスト ボックスがあります。

自分の領域を指すには、コントローラーのテキスト ボックスに何を入力すればよいですか。

私の地域はこれです:<site root>/Areas/UserManagement/ProfileController.cs

私はすべてを試しました。誰かが助けてくれることを願っています。

4

1 に答える 1

3

Controller フィールドProfileに指定するためにProfileController入力し、Controller Action フィールドに、呼び出したい ProfileController のアクションの名前を入力します。

UserManagement エリアには、おそらくUserManagementAreaRegistrationエリア固有のルートが定義されているクラスがあり、これは ApplicationStart イベント ハンドラーから呼び出されます。

これが、コントローラーのレンダリングを接続する方法です。これを見ると、いくつかの障害があります。

  1. アクション名の一意性。ソリューションの他の場所で発生するアクション名を許可するために、MapRoute の名前空間のオーバーロードを取得できませんでした。

    public System.Web.Routing.Route MapRoute(string name, string url, object defaults, string[] namespaces)

  2. エリア パスを尊重するビュー解決プロセスを取得できるようにするために、代わりに、コントローラー名によって決定される標準のビュー フォルダーを検索するように見えます。あなたの例から、かみそりビューのコピーをドロップし~/Views/UserManagement/てレンダリングする必要がありました。

于 2012-11-15T07:44:33.973 に答える