コントローラー+アクションセットを表すASP.NET MVCクラス?
-
22-07-2019 - |
質問
ASP.NET MVCフレームワークには、コントローラー名とアクション名を表すクラスがありますか
URLのコレクションを返すメソッドを書いていますが、それらを 'Controller'および 'Action'プロパティなどを含むオブジェクトとして返すようにします。
これは、コントローラー名またはアクション名のみを分離する必要がある場合があるためです。
Routeオブジェクトはありますが、私がやろうとしていることには重すぎるようです。
ASP.NET MVCにはより単純な抽象化がありますか?
解決
名前ではなくController Baseクラスがありますが、アクション名は単に、ActionInvokerがリフレクションを介して正しいアクションを見つけるために使用する文字列です。
を使用する必要があると思いますルートを表すキー/値ペアのルート値ディクショナリ。
RouteValueDictionary myValues = new RouteValueDictionary();
myValues.Add("Controller", "myController");
通常のディクショナリを使用し、ルーティングネームスペースにアクセスする必要がない/アクセスする必要がない場合は、コードでそれをRouteValueDictionaryに変換できます。
このアプローチでは、標準辞書またはrouteValue辞書のいずれかのキーを使用して、コントローラーまたはアクションを分離できます。
String ControlString = myValues["Controller"]
次に、必要な処理を行います。アクセスしたいキーに定数を使用するかもしれません。
所属していません StackOverflow