如何在Asp.Net Core 3.1中为所有路由URL添加动态前缀?

时间:2020-04-14 08:22:22

标签: asp.net url

网页上有一个链接可以传输所选区域性,但是我必须向每种方法和控制器添加代码(如下所示的示例)。还有其他解决方法吗?

我使用资源文件,但会查看其他选项。

//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?}");

        });

0 个答案:

没有答案