如何从 Umbraco 中的特定文化中获取内容

Jos*_*vić 2 c# asp.net umbraco umbraco8

我有双语网站,德语设置为默认语言,我正在尝试从 SurfaceController 获取英语内容节点,如下所示:

Umbraco.Content(ID);
Run Code Online (Sandbox Code Playgroud)

我试图像这样改变当前的文化:

Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US");
Run Code Online (Sandbox Code Playgroud)

但没有成功。

Jos*_*vić 5

找到答案:

private readonly IVariationContextAccessor _variationContextAccessor;

public ContentApiController(IVariationContextAccessor variationContextAccessor)
{
    _variationContextAccessor = variationContextAccessor;
}

public IHttpActionResult Get(int id, string culture)
{
    _variationContextAccessor.VariationContext = new VariationContext(culture);
    var cnt = Umbraco.Content(id);
    return Ok(cnt.Name);
}
Run Code Online (Sandbox Code Playgroud)