Я пробую два разных подхода к настройке маршрутов на своем многоязычном веб-сайте.
С RouteConfig.cs на обоих языках хорошо работает следующее:
route = routes.MapRoute(
name: "DataVesselRegister",
url: "{culture}/Data/staff",
defaults: new { action = "Index", controller = "Staff", culture = defaultCulture.Name },
constraints: new { culture = new SiteCultureConstraint(AppConfig.Sitename) }
);
// A route value determines the culture of the current thread
route.RouteHandler = new MultiCultureMvcRouteHandler();
Однако, когда я пытаюсь сделать то же самое, используя вместо этого атрибут Route:
[Route("{culture}/data/staff")]
[HttpGet]
public ActionResult Index()
{
Сайт остается на английском языке sh, который является языком по умолчанию.
Почему я не могу достичь такое же поведение с атрибутом маршрута в контроллере.