中年プログラマーの息抜き

ブログをはじめました。気の向くままにプログラム関連ネタをメモしていきます。

ASP MVCのViewでコントローラー名やアクション名を取得

f:id:tm-b:20200929012602j:plain

 

はじめに

Razor(レイザー)のレイアウトファイルにページのタイトルなどの出力処理をまとめたいと思い調査したメモ

 

実行中のコントローラー名を取得

@Url.RouteCollection.GetRouteData(Context).Values["controller"]

 

実行中のアクション名を取得

@Url.RouteCollection.GetRouteData(Context).Values["action"]

 

画面タイトルなどデータベースで管理してコントローラーからビューに渡す方法をよく使いますが、アクション数が100個程度であれば、レイアウトファイル内で分岐処理をするほうがお手軽、、まあ十分かなと思い実装を試しました。

 

モデルを介さない値はViewに渡さない