36351


_Layout.cshtmlにリンクを作成しいます。  
下図の場合、ホーム、詳細、連絡先それぞれをクリックしたとき、下図赤枠部分を現在表示しているページの文字を太字、サイズ変更等したいと考えています。

[![サンプル](https://i.stack.imgur.com/pVaLR.png)](https://i.stack.imgur.com/pVaLR.png)  
html.ActionLink時にclassの追加等試したのですがうまく反映されません。  
ご教示願います。


CC BY-SA 3.0
2017-07-14T04:57:01.503
36346
2017-07-14T06:40:16.513
19580
question
javascript c# .net mvc
_Layout.cshtmlの状態を変化させたい


通常のリンクで別のページに移動した場合、すべてのDOM要素が再読み込みされますので遷移直前にJavaScriptで設定したスタイルは反映されません。

ですので`_Layout.cshtml`で現在表示中のアクションを判定して`@class`の値を制御してください。  
コントローラー名およびアクション名は`ViewContext.RouteData.Values["controller"]`や`ViewContext.RouteData.Values["action"]`で参照できますし、コントローラーから明示的にモデルに指定すれば確実に判定できます。


CC BY-SA 3.0
2017-07-14T06:40:16.513
36351
2017-07-14T06:40:16.513
5750
36346
answer