1. ホーム
  2. c#

[解決済み] コントローラ名とアクション名をコントローラ内から取得する?

2022-04-21 21:04:55

質問

私たちのウェブアプリケーションでは、ビュー、正確にはビューを生成したコントローラとアクション(そしてもちろんユーザーIDもですが、ここではそれは重要ではありません)に応じて、取得および表示されるアイテムの順序を保存する必要があります。

各コントローラのアクションで識別子を与える代わりに(ビューに依存したDB出力のソートに使用するため)、この識別子をコントローラと呼び出されるアクションメソッドから自動的に作成する方が安全で簡単だと思いました。

コントローラ内のアクションメソッド内から、コントローラとアクションの名前を取得するにはどうすればよいのでしょうか?それともリフレクションが必要なのでしょうか?

どのように解決するのですか?

string actionName = this.ControllerContext.RouteData.Values["action"].ToString();
string controllerName = this.ControllerContext.RouteData.Values["controller"].ToString();