如何在控制器中获取当前文化(在 Orchard CMS 的自定义模块中)

How to get the current culture in a controller (in a custom module of Orchard CMS)

我需要在自定义模块的控制器中获取当前文化;我知道如何从剃刀视图中获取它:

@{
    var currentCulture = WorkContext.CurrentCulture;
}

但是在控制器中我无法访问 WorkContext 并且我找不到任何类似的东西(我尝试了 HttpContext 但没有 CurrentCulture 方法)。

您可以将 WorkContextAccessor 注入您的控制器并获取当前的 WorkContext

private readonly IWorkContextAccessor _wca;

public MyController(IWorkContextAccessor wca) {
    _wca = wca;
}

public ActionResult Index() {
    var workContext = _wca.GetContext();
}

WorkContext也可以在IOrchardServices界面上使用