Как написать дружественный 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 }
);