2008-11-24 12 views
1

У меня есть по умолчанию, что vs.net создает в приложении MVC:Могу ли я поймать весь маршрут по следующему маршруту?

routes.MapRoute(
    "Default",            // Route name 
    "{controller}/{action}/{id}",       // URL with parameters 
    new { controller = "Home", action = "Index", id = "" } // Parameter defaults 
); 

Я также хочу, чтобы поймать этот маршрут (любой текст после доменного имени, но он не может содержать/в нем нет, т.е. папки, только «файлы» в корне).

www.example.com/blah 

ответ

0

Этот маршрут будет также соответствовать к «www.example.com/blah» URL, он будет использовать «бла» контроллер с действием «Index».

Если вы хотите создать конкретный маршрут для «бэ», вы также можете сделать это:

routes.MapRoute("BlahRoute", 
    "blah/{action}/{id}", 
    new { controller = "YourControllerForBlah", action = "Index", id = "" } 
); 

Просто убедитесь, что этот маршрут добавляется до дефолта, так как в противном случае по умолчанию маршрут будет соответствовать первому ,

Вы можете проверить ASP.NET MVC Storefront part 7, некоторые идеи для маршрутизации, а также ASP.NET Routing Debugger от Phil Haack.

Смежные вопросы