MapRoute mit generischen Controller
-
23-09-2019 - |
Frage
Ist es möglich, eine Route mit MapRoute abzubilden und einer generischen Steuerung z
angeben context.MapRoute(
"Dashboard_Edit", // Route name
"dashboard/edit/{*pagePath}",
new { controller = "Dashboard`1", action = "edit", pagePath = "home" }
);
Lösung
Es ist leider nicht mit der Standard-Controller Factory erlaubt. Der Typ „Dashboard`1“ ist für eine offene generische Art und nicht konstruiert werden kann. Mit anderen Worten, mit dem Standard-Controller Factory die einzigen zulässigen Werte für „Controller“ sind diejenigen, die die folgende Pseudo-Syntax passen:
IController c = new SomeControllerType();
Die SomeControllerType
muss gültig sein (wenn auch ohne den „Controller“ Suffix oder Namespace), und es muss einen parameterlosen Konstruktor haben.
Sie können immer eine benutzerdefinierte Controller Factory schreiben, die erweiterte Funktionalität hat und versteht, wie generische Typen zu konstruieren.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow