1

Так что у меня этот маршрут, проложенный:Почему этот маршрут не действует по умолчанию?

routes.MapRoute(
    "Solutions", 
    "{lang}/Solutions/{controller}/{action}", 
    new { lang="en-US", controller = "WhatWeDo", action = "Index"} 
    ); 

Когда я иду в»

/en-GB/Solutions/SolutionA/Index/ 

Он маршрутизирует просто отлично, но

/en-GB/Solutions/SolutionA/ 

ли не маршрут вообще Однако. если я выберу параметр lang, то маршрут выглядит как

routes.MapRoute(
    "Solutions", 
    "Solutions/{controller}/{action}", 
    new { controller = "WhatWeDo", action = "Index"} 
    ); 

и я хожу в

/Solutions/SolutionA/ 

It маршрутов просто отлично. Есть идеи? Я бы не стал указывать действие по умолчанию все время для этого маршрута. Благодарю.

ответ

2

Какой порядок определения вы ваши маршруты в global.asax, это могло бы иметь что-то с вопросом, но мое первоначальное предположение, что это соответствие маршрут по умолчанию в качестве такого

controller: en-GB 
action: Solutions 
id : SolutionA 

То, что вы могли бы быть в состоянии do настраивает какое-то регулярное выражение на ваших маршрутах, чтобы исключить ваш язык из маршрута «по умолчанию»? Попробуйте эту ссылку для получения дополнительной информации об использовании регулярного выражения для фильтрации маршрута http://www.iridescence.no/post/Defining-Routes-using-Regular-Expressions-in-ASPNET-MVC.aspx

+0

Спасибо, это был порядок, в котором были маршруты, считал, что маршруты регулярных выражений выглядят действительно круто, и я могу переключиться на них в конечном итоге для лучшей локализации. – Ryan

+0

Рад, что я мог помочь! Удачи с вашим проектом. –

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