Pregunta

¿Hay una clase en el marco ASP.NET MVC que represente un nombre de controlador y un nombre de acción?

Estoy escribiendo un método que devolverá una colección de URL y quiero que se devuelvan como objetos que contienen una propiedad 'Controlador' y 'Acción' o algo similar.

Esto se debe a que a veces necesitaré aislar solo el nombre del controlador o solo el nombre de la acción.

Existe el objeto Ruta, pero parece demasiado pesado para lo que estoy tratando de hacer.

¿Hay una abstracción más simple en ASP.NET MVC?

¿Fue útil?

Solución

Sin embargo, hay una clase de Controlador Base, no un nombre, un nombre de acción es simplemente una cadena que ActionInvoker usará para encontrar la acción correcta mediante reflexión.

Creo que tendrá que usar el Diccionario de valores de ruta de pares clave / valor para representar la ruta.

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

Podría usar un diccionario normal y luego convertirlo en código a RouteValueDictionary si no desea / no puede tener acceso al espacio de nombres de Enrutamiento.

En este enfoque, puede utilizar las teclas del diccionario estándar o del Diccionario routeValue para aislar el controlador o la acción.

String ControlString = myValues["Controller"] 

Entonces haz lo que quieras con él. Tal vez use constantes para las teclas a las que desea acceder.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top