1

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

URLのコレクションを返すメソッドを作成していて、それらを「Controller」および「Action」プロパティなどを含むオブジェクトとして返すようにします。

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

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

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

4

1 に答える 1

2

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

ルートを表すには、キーと値のペアのルート値ディクショナリを使用する必要があると思います。

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

ルーティング名前空間にアクセスしたくない/アクセスする必要がない場合は、通常のディクショナリを使用して、コードでRouteValueDictionaryに変換できます。

このアプローチでは、標準ディクショナリまたはrouteValueディクショナリのいずれかのキーを使用して、コントローラまたはアクションを分離できます。

String ControlString = myValues["Controller"] 

次に、それを使ってやりたいことをします。アクセスしたいキーには定数を使用するかもしれません。

于 2009-08-05T07:48:43.027 に答える