我目前在当前项目中遇到了一个奇怪的sharepoint行为。
任务的核心很简单: 我们有一个网站集,我们可以在其中创建项目(项目再次是根网站的子网站)。在v1中,我们的产品仅提供一种语言版本。在v2中,我们实现了多语言。
部署新解决方案后,新项目站点处于正确状态。 根网站和较旧的项目网站不是。
我目前正在为根和子网站开发更新机制。 在这里发生了一些无法解释的事情(至少对我而言):
导航:
导航节点必须按以下方式更新
foreach (CultureInfo culture in web.SupportedUICultures)
{
node.TitleResource.SetValueForUICulture(culture, SPUtility.GetLocalizedString("$Resources:" + key, resource, (uint)culture.LCID));
}
node.Update();
当我将德语作为我的主动显示语言时启动更新时,恰好2个节点显示为$ Resources:....德语,但在英语中它们是正确的。 如果我以英语作为我的显示语言启动更新,则所有节点在两种语言中都是正确的。
Listviewwebpart
在一个页面上,我们介绍了一些listviewwebparts。我创建它们并自定义webpart的视图。当我用英语作为语言开始更新时,一切正常。 列表视图完全翻译成德语和英语。
但是,当我让更新以德语作为活动语言运行时,某些字段不会被翻译。事情就是这样:只有在这个精确的列表视图中!当我切换到列表,并检查字段,一切正常! 我不明白。
简而言之: - 用德语更新:2导航没有获得资源价值(只有德语,英语工作正常) - 用英语更新:列表视图中的字段未翻译,但字段在其核心中翻译。
有人遇到过这样的行为吗? 我尝试更改更新的工作顺序,但没有任何变化。