我已经在网上搜索了ASP.NET MVC Beta 1中对路由语法的一个不错的解释,但我仍然无法使其工作。
请有人解释我需要在我的Global.asax.cs文件中添加哪些内容以支持我的网站:
www.mysite.com/map.aspx
(即没有任何显式参数/操作执行默认操作的网站),以及
www.mysite.com/map.aspx/search/searchParam1/searchParam2/searchParam3/
(用于执行搜索)
PS:与此同时,我会继续研究这个问题,如果找到的话,我会自己发布答案。
答案 0 :(得分:2)
routes.MapRoute("Default", "map.aspx", new { controller = "DefaultController", action = "DefaultAction" });
routes.MapRoute("Search", "map.aspx/search/{*params}", new { controller = "SearchController", action = "Search" } );
示例网址:http://www.mysite.com/map.aspx/search/dogs/cats/
传递给SearchController.Search()的参数:params =“/ dogs / cats”
然后,您可以解析参数以处理搜索结果。
但是,在我看来,如果要构建MVC应用程序,将map.aspx放在URL中会出错。 您的网址应该看起来像http://www.mysite.com/search/