Чтобы получить текущую культуру в контроллере ASP.NET Core 6, вы можете использовать следующие методы:
-
Метод 1. Доступ к свойству CurrentCulture:
using System.Globalization; using Microsoft.AspNetCore.Mvc; public class MyController : Controller { public IActionResult MyAction() { CultureInfo currentCulture = CultureInfo.CurrentCulture; // Use the currentCulture variable as needed return View(); } } -
Метод 2: внедрение IWebHostEnvironment:
using System.Globalization; using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Mvc; public class MyController : Controller { private readonly IWebHostEnvironment _hostingEnvironment; public MyController(IWebHostEnvironment hostingEnvironment) { _hostingEnvironment = hostingEnvironment; } public IActionResult MyAction() { CultureInfo currentCulture = _hostingEnvironment.ContentRootCulture; // Use the currentCulture variable as needed return View(); } } -
Метод 3: доступ к HttpContext:
using System.Globalization; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; public class MyController : Controller { private readonly IHttpContextAccessor _httpContextAccessor; public MyController(IHttpContextAccessor httpContextAccessor) { _httpContextAccessor = httpContextAccessor; } public IActionResult MyAction() { CultureInfo currentCulture = _httpContextAccessor.HttpContext?.Features.Get<IRequestCultureFeature>()?.RequestCulture?.Culture; // Use the currentCulture variable as needed return View(); } }
Эти методы позволяют получить текущую культуру в контроллере ASP.NET Core 6.