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?

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top