ASP.NET MVC класс, который представляет контроллер + набор действий?

StackOverflow https://stackoverflow.com/questions/1231715

Вопрос

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

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

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

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

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

Это было полезно?

Решение

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

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

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

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

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

String ControlString = myValues["Controller"] 

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top