0

renderpartialを含むマスターページを作成し、レンダリングされる前にそのpartialに渡される値を指定することは可能ですか?

たとえば、サイト全体で共通のメニュー構造があります。これをマスターページに部分的に配置したいのですが、問題は、ページのどの領域にあるかによって、選択したタブに値を設定する必要があるということです。強調表示され、現在地を確認できます。

現在、部分レンダリングはすべてのページにあり、選択したタブの値を渡します。これをマスターページに入れて、値をマスターページに渡す方法が必要です。

かみそりで導入された変更でこれが可能になるかもしれないと感じていますが、いずれにせよ、asp.net mvc 2を使用しています(ただし、より新しいバージョンに適用されるものにまだ興味があります)

4

1 に答える 1

2

RouteDataプロパティを使用して、次を使用して現在呼び出されているページを取得できます。

ViewContext.ParentActionViewContext.RouteData.Values["controller"]
ViewContext.ParentActionViewContext.RouteData.Values["action"]

// OR

ViewContext.RouteData.Values["controller"]
ViewContext.RouteData.Values["action"]

メニューに関連付けられたコントローラーまたはビュー自体(部分的な場合)のいずれか。次に、現在のルートで出力をフィルタリングできます。

于 2012-04-16T05:19:37.397 に答える