ASP.NET MVC класс, который представляет контроллер + набор действий? - PullRequest
1 голос
/ 05 августа 2009

Есть ли в структуре ASP.NET MVC класс, представляющий имя контроллера и имя действия?

Я пишу метод, который будет возвращать коллекцию URL-адресов, и я хочу, чтобы они возвращались как объекты, которые содержат свойство 'Controller' и 'Action' или что-то подобное.

Это потому, что иногда мне нужно изолировать только имя контроллера или только имя действия.

Есть объект Route, но он кажется слишком тяжелым для того, что я пытаюсь сделать.

Есть ли в ASP.NET MVC более простая абстракция?

1 Ответ

2 голосов
/ 05 августа 2009

Существует базовый класс Controller, но не имя, а имя действия - просто строка, которую ActionInvoker будет использовать для поиска правильного действия с помощью отражения.

Я думаю, вам придется использовать Словарь значений маршрута пар ключ / значение для представления маршрута.

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

Вы можете использовать обычный словарь и затем преобразовать его в коде в RouteValueDictionary, если вы не хотите / не можете иметь доступ к пространству имен Routing.

В этом подходе вы можете использовать ключи стандартного словаря или словаря routeValue для изоляции контроллера или действия.

String ControlString = myValues["Controller"] 

Тогда делай с ней что хочешь. Возможно используйте константы для ключей, к которым вы хотите получить доступ.

...