c# - 如何从 Umbraco 的特定文化中获取内容
问题描述
我有将德语设置为默认语言的双语网站,我正在尝试从我的 SurfaceController 获取英语内容节点,如下所示:
Umbraco.Content(ID);
我试图像这样改变当前的文化:
Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US");
但没有成功。
解决方案
找到了答案:
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);
}
推荐阅读
- python - Python readlines() 3.X 到 2.X
- log4net - AppenderSkeleton.DoAppend 中的 Log4Net 死锁
- angular - Angular 7 测试:“无法绑定到 formGroup,因为它不是表单的已知属性”
- regex - 拆分一个逗号分隔的列表,其中文本中的逗号不会被转义
- python - 理解将嵌套列表更改为字典列表
- python - 为什么在我的 for 循环的第一次迭代后出现此错误(TypeError:'_io.TextIOWrapper' 对象不可下标)?
- javascript - 单击表格中的文本时如何获取图像
- wordpress - 我的服务器将 404 返回到带有重音(非英文字符)ubuntu 16.04 的文件
- java - Spring Data Neo4j - RelationsEntity 的(所有)属性
- html - 警告 onRowClick 已弃用