ASP.NET MVC Beta 1 - Syntaxe de routage URI
-
11-07-2019 - |
Question
J'ai parcouru le Web à la recherche d'une explication décente de la syntaxe de routage dans la version bêta 1 d'ASP.NET MVC, mais je ne parviens toujours pas à la faire fonctionner.
Quelqu'un peut-il m'expliquer ce que j'ai besoin de mettre dans mon fichier Global.asax.cs pour que deux URI soient pris en charge sur mon site:
www.monsite.com/map.aspx
(c'est-à-dire le site sans paramètres / actions explicites pour l'exécution de l'action par défaut), et
www.monsite.com/map.aspx/search/searchParam1/searchParam2/searchParam3 /
(pour effectuer une recherche)
PS: En attendant, je continuerai à travailler sur ce projet et posterai moi-même la réponse si je la trouve.
La solution
routes.MapRoute("Default", "map.aspx", new { controller = "DefaultController", action = "DefaultAction" });
routes.MapRoute("Search", "map.aspx/search/{*params}", new { controller = "SearchController", action = "Search" } );
Exemple d'URL: http://www.mysite.com/map .aspx / search / dogs / cats /
Paramètres transmis à SearchController.Search (): params = "/ dogs / cats"
Vous pouvez ensuite analyser les paramètres pour traiter les résultats de votre recherche.
Cependant, à mon avis, le fait de placer map.aspx dans l'URL semble incorrect si vous construisez une application MVC. Votre URL devrait ressembler à http://www.mysite.com/search/