MapRoute con controlador genérico
-
23-09-2019 - |
Pregunta
¿Es posible trazar una ruta con MapRoute y especificar un controlador genérico por ejemplo
context.MapRoute(
"Dashboard_Edit", // Route name
"dashboard/edit/{*pagePath}",
new { controller = "Dashboard`1", action = "edit", pagePath = "home" }
);
Solución
Sentimos no permitió a la fábrica controlador por defecto. El tipo "Dashboard`1" es para un tipo genérico abierto y no puede ser construido. En otras palabras, con la fábrica de controlador por defecto los valores solamente permitidos para "controlador" son los que pueden caber la sintaxis de pseudo siguiente:
IController c = new SomeControllerType();
El SomeControllerType
debe ser válida (aunque sin el sufijo "controlador" o espacio de nombres), y debe tener un constructor sin parámetros.
Siempre se puede escribir una fábrica de controlador personalizado que tiene una funcionalidad más avanzada y entiende cómo construir tipos genéricos.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow