2009-08-05 3 views
1

ASP.NET MVCフレームワークにコントローラ名とアクション名を表すクラスがありますか?コントローラ+アクションセットを表すASP.NET MVCクラス?

私は、URLのコレクションを返すメソッドを作成しています。これらのメソッドは、 'Controller'や 'Action'などのプロパティを含むオブジェクトとして返されます。

これは、コントローラー名またはアクション名だけを分離する必要があることがあるためです。

Routeオブジェクトがありますが、それは私がやろうとしているものに対してはあまりにも重いようです。

ASP.NET MVCにはより単純な抽象化がありますか?

答えて

2

名前ではないController Baseクラスがありますが、アクション名は、ActionInvokerがリフレクションによって正しいアクションを見つけるために使用する文字列です。

ルートを表すためにキー/値ペアのRoute Values Dictionaryを使用する必要があると思います。

RouteValueDictionary myValues = new RouteValueDictionary(); 
myValues.Add("Controller", "myController"); 

あなたは、通常の辞書を使用して、あなたがしたくない場合は[ルーティング名前空間へのアクセスを持っていることはできません/ RouteValueDictionaryにコードでそれを変換することができます。

この方法では、標準辞書またはrouteValueディクショナリのキーを使用して、コントローラまたはアクションの分離を実行できます。

String ControlString = myValues["Controller"] 

次に、あなたが望むことをしてください。おそらく、アクセスしたいキーの定数を使用してください。

関連する問題