0

別のエリアのビューで使用される共有_Layout.cshtmlファイルがあります。

_Layout.cshtmlには、@Html.Actionを返す「ルート」エリア (非エリア エリアを参照する方法がわからない) 内のコントローラーのアクションへの呼び出しがありますPartialViewResult

私の質問は、部分アクションからアクセスされているエリアの名前にアクセスできますか?

そのため、ユーザーが にアクセスする/Users/User/Createと、ユーザー エリアの Create ビューは_Layout.cshtml、共通の Controller Action を呼び出す common を使用します。その方法で「ユーザー」にアクセスできる必要があります。

これまでのところParentActionViewContext.RouteData、コントローラーとアクションの名前だけが表示されています (予想どおり)。

4

1 に答える 1

0

Twitter での簡単な会話に基づいて、メニュー/ナビゲーション バーの現在の領域を強調表示するためにこれを行っているとのことです。

私は過去に、メニューを独自のコントローラーとアクションを持つ部分ビューとして扱った同様のことをしました。そのアプローチを採用すると、(ビュー)モデルでMenuItem「選択済み」または「アクティブ」のブール値を公開し、カスタム HTML ヘルパーを使用してアクティブ/非アクティブ メニュー項目に適切な HTML を書き出すことができます。

トピックから外れていることはわかっていますが、領域を細かくしすぎた可能性があります。たとえばUserController、ユーザー領域以外に含まれるコントローラーは何ですか? 同じ機能の分離を実現するために、デフォルト領域で別のコントローラーを使用できますか?

于 2013-08-07T19:33:27.103 に答える