0
MVCのブートストラップナビバーに「アクティブ」クラスを追加しようとしていますが、大きな問題があります。メインアクションに基づいて部分ビューにアクティブクラスを追加する方法
私はこのヘルパーを使用していますが、関数を呼び出すアクションが_PartialViewNameなので、Navbarを部分ビューに配置しているので機能しません。
public static string IsActive(this HtmlHelper html,
string control, string action)
{
var routeData = html.ViewContext.RouteData;
var routeAction = (string)routeData.Values["action"];
var routeControl = (string)routeData.Values["controller"];
// both must match
var returnActive = control.ToUpper() == routeControl.ToUpper() &&
action.ToUpper() == routeAction.ToUpper();
return returnActive ? "active" : "";
}
この問題を回避する方法はありますか?とにかくありがとうございました。
あなたは親コンテキストを取得する必要があります - 'VAR routeData = html.ViewContext.ParentActionViewContext.RouteDataは;' –
これが働いていました。どうもありがとうございました。 –