Как написать дружественный URL для другого языка MVC4 C#

Мне нужна ваша помощь, чтобы понять, как я могу получить URL на французском и один на английском, которые перенаправляют на тот же контроллер в MVC4?

Другими словами, у меня есть контроллер Specialty, у которого есть контроллер MoreOption

public ActionResult MoreOption()
{
...
}

Таким образом, мы можем получить доступ к этому контроллеру через http://{domainname}/Speciality/MoreOption.Now мне нужно получить доступ к этому контроллеру на французском языке http://{domainname}/nos-specialites/options-Suppmentaires. Мне не нужно писать другой класс контроллера, потому что это тот же код, который я использую для отображения этой страницы.

1 ответ

Решение

На самом деле, это довольно просто, если я вас правильно понимаю.

У вас просто есть 2 метода действий: английский и французский, которые загружают одну и ту же модель в один контроллер. Однако, если у вас есть 2 имени для одного и того же контроллера, вы можете добиться этого с помощью конфигурации маршрутизации.

routes.MapRoute(
            name: "FrenchControllerName",
            url: "Home/{controller}/{action}/{id}",
            defaults: new {area="Home",controller = "EnglishControllerName", action = "Index", id = UrlParameter.Optional }
        );
Другие вопросы по тегам