Как динамически локализовать полный URL-адрес (включая контроллер, действие и другие параметры) в ASP.NET MVC 3

Я ищу решение для динамической настройки маршрутизации в ASP.NET MVC 3 на основе текущего языка, который пользователь использует на веб-сайте.

Теперь у меня есть:

domain.com/de/controller/action/subaction/XX
domain.com/en/controller/action/subaction/XX

и я бы хотел иметь:

domain.com/de/bereich/aktion/unteraktion/XX
domain.com/en/controller/action/subaction/XX

имя для контроллера / действия и субдействия должно быть настроено через базу данных (как немецкие, так и английские имена)

Поскольку конфигурация маршрута по умолчанию хорошо работает в ASP.NET MVC, я бы предпочел использовать ее, и, например, просто настройте класс, который обрабатывает сопоставление между URL-адресом и контроллером (и т. д.).


person Gerwald    schedule 14.03.2012    source источник


Ответы (1)


http://blog.maartenballiauw.be/post/2010/01/26/Translating-routes-%28ASPNET-MVC-and-Webforms%29.aspx эта статья поможет вам решить вашу проблему, но, пожалуйста, подумайте дважды.

person QQping    schedule 15.03.2012
comment
Спасибо! это даже лучше, чем мне нужно;) - с этим решением я могу избавиться от мешающего языкового префикса (/de/ & /en/) в пути - person Gerwald; 15.03.2012
comment
QQping, почему вы предупреждаете нас об этом? - person Bro; 22.09.2013
comment
Это вообще необходимо? Что произойдет, если пользователь выберет немецкий в качестве языка по умолчанию и зайдет с этого веб-сайта по URL-адресу, переведенному на английский? Несколько вопросов, которые должны прийти в голову, когда вы говорите о локализации путей ... ИМХО, это перебор. - person QQping; 04.10.2013