classe ASP.NET MVC que representa um conjunto controlador + ação?
-
22-07-2019 - |
Pergunta
Existe uma classe no quadro ASP.NET MVC que representa um nome de controlador e um nome de ação?
Eu estou escrevendo um método que irá retornar uma coleção de URLs e eu quero que eles sejam devolvidos como objetos que contêm um 'controlador' e 'ação' propriedade ou algo similar.
Este é porque às vezes eu vou precisar para isolar apenas o nome do controlador ou apenas o nome da ação.
Há o objeto Route, mas parece demasiado pesado para o que estou tentando fazer.
Existe uma abstração simples no ASP.NET MVC?
Solução
Há uma classe Base do Controlador não um nome, porém, um nome de ação é simplesmente uma string que o ActionInvoker irá usar para encontrar a ação correta através de reflexão.
Eu acho que você vai ter que usar a Route valores dicionário de pares de chave / valor para representar a rota.
RouteValueDictionary myValues = new RouteValueDictionary();
myValues.Add("Controller", "myController");
Você pode usar um dicionário normal e, em seguida, convertê-lo em código para um RouteValueDictionary se você não quer / não pode tem que ter acesso ao namespace Routing.
Nesta abordagem, você pode em seguida, usando as chaves do quer um dicionário padrão ou o dicionário routeValue para fazer o isolamento do controlador ou ação.
String ControlString = myValues["Controller"]
Em seguida, fazer o que quiser com ele. Talvez usar constantes para as teclas que você deseja acessar.