2008-11-26 9 views
0

J'ai parcouru le web pour une explication décente de la syntaxe de routage dans ASP.NET MVC Beta 1 mais je n'arrive toujours pas à le faire fonctionner.ASP.NET MVC Beta 1 - Syntaxe de routage URI

S'il vous plaît quelqu'un pourrait expliquer ce que je dois mettre dans mon dossier Global.asax.cs avoir deux pris en charge pour URIs mon site:

www.mysite.com/map.aspx (à savoir le site sans aucun paramètre explicite/actions pour exécuter l'action par défaut), et,

www.mysite.com/map.aspx/search/searchParam1/searchParam2/searchParam3/ (pour effectuer une recherche)

PS: En attendant, je vais continuer à travailler sur ce sujet et je posterai la réponse moi-même si je trouve.

Répondre

2
routes.MapRoute("Default", "map.aspx", new { controller = "DefaultController", action = "DefaultAction" }); 

routes.MapRoute("Search", "map.aspx/search/{*params}", new { controller = "SearchController", action = "Search" }); 

Exemple URL: http://www.mysite.com/map.aspx/search/dogs/cats/

paramètres passés à SearchController.Search(): params = "/ chiens/chats"

Vous pouvez ensuite analyser les params afin de traiter vos résultats de recherche. Cependant, à mon avis, mettre map.aspx dans l'URL semble faux si vous construisez une application MVC. Votre URL devrait ressembler à http://www.mysite.com/search/

+0

Merci sork. La carte est une sous-section spécifique du site et donc (à moins que je me trompe) doit être là pour se différencier du reste des fonctionnalités du site. Le aspx est parce que (évidemment) le site est sur IIS6. Merci encore. – Ben