Как добавить динамический c префикс ко всем URL-адресам маршрутизации в Asp. Net Core 3.1? - PullRequest
1 голос
/ 14 апреля 2020

На веб-странице есть ссылка, которая передает выбранную культуру, но для каждого метода и контроллера я должен добавить код (пример показан ниже). Есть ли другие способы решить эту проблему?

Я использую файлы ресурсов, но буду искать другие варианты.

//html
@Html.ActionLink("English", ViewContext.RouteData.Values["action"].ToString(), ViewContext.RouteData.Values["controller"].ToString(), new { culture = "en" }, null)


//Controller
public IActionResult Users(string culture)
{
    Lang(culture);
    return View();
}

public void Lang(string culture)
{
        Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(culture);
        Thread.CurrentThread.CurrentUICulture = new CultureInfo(culture);
}

//Startupe
app.UseEndpoints(endpoints =>
        {

            endpoints.MapControllerRoute(
                name: "default",
                pattern: "{culture=en}/{controller=Home}/{action=Home}/{id?}");

        });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...