网页上有一个链接可以传输所选区域性,但是我必须向每种方法和控制器添加代码(如下所示的示例)。还有其他解决方法吗?
我使用资源文件,但会查看其他选项。
//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?}");
});