Comment ajouter un préfixe à toutes les actions avec le routage d'URL ASP.Net MVC?
-
08-07-2019 - |
Question
J'essaie d'écrire un appel MapRoute pour créer un itinéraire avec le préfixe " json / " prepend " json " au nom de l'action. Par exemple, un itinéraire ressemblant à ceci:
"json/{controller}/{action}"
avec "json / Foo / Bar", il devrait en résulter:
controller = "Foo"
action = "jsonBar"
Des idées?
La solution
Je me demande s'il ne serait pas préférable d'inclure JSON dans les données de route et de le rechercher dans l'action? c.-à-d. lorsque vous mappez votre route, utilisez quelque chose comme (par défaut):
new { mode="json", controller = "Home", action = "Index", id = "" }
ou mappez l'itinéraire comme suit:
"{mode}/{controller}/{action}"
puis accédez à cela dans le contrôleur:
string mode = (string) RouteData.Values["mode"];
(ou transmettez-le sous forme d'argument)
En dehors de cela, vous pourriez potentiellement écrire votre propre gestionnaire d'itinéraire, mais cela représente beaucoup de travail.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow