Question

Est-il possible de mapper un itinéraire avec MapRoute et spécifier un contrôleur générique par exemple

        context.MapRoute(
            "Dashboard_Edit", // Route name
            "dashboard/edit/{*pagePath}",
            new { controller = "Dashboard`1", action = "edit", pagePath = "home" }
            );
Était-ce utile?

La solution

Il est malheureusement pas permis à l'usine de contrôleur par défaut. Le type « Dashboard`1 » est un type générique ouvert et ne peut pas être construit. En d'autres termes, avec l'usine de contrôleur par défaut les seules valeurs autorisées pour « contrôleur » sont ceux qui peuvent convenir à la syntaxe pseudo suivante:

IController c = new SomeControllerType();

Le SomeControllerType doit être valide (mais sans le suffixe « Controller » ou espace de noms), et il doit avoir un constructeur sans paramètre.

Vous pouvez toujours écrire une usine de contrôleur personnalisé qui a des fonctionnalités plus avancées et comprend comment construire des types génériques.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top