我有一个项目在塞特罗尔与id '{05B1C498-39D1-40D6-B454-2A3277A6DDF9}‘,其中有一个语言版本的"en“和一个在"da-DK”。
对于这个项目,有一个字段"Test“,类型为text,在英文版本中,我在这个字段中保存了"English Text”。对于以上项目的丹麦文版本,我在"Test“栏中保存了”丹麦文“。
我想用丹麦语拿到上面的东西。我使用了这个代码:
string dicItemId= "{05B1C498-39D1-40D6-B454-2A3277A6DDF9}"
Item dictionaryItem = Context.Database.GetItem(dicItemId, Sitecore.Data.Managers.LanguageManager.GetLanguage("da-DK"));
lblTest.Text = dictionaryItem["Test"];我期待看到上面标签的字符串“丹麦语文本”。但不知何故,它没有得到丹麦语版本,输出是“英文文本”。
我还试图以一种语言获取上述项目的版本,该语言的版本在我的Sitecore中不存在,我尝试了:
Item dictionaryItem = Context.Database.GetItem(dicItemId, Sitecore.Data.Managers.LanguageManager.GetLanguage("nl-NL"));我原以为dictionaryItem是null,但它仍然包含id '{05B1C498-39D1-40D6-B454-2A3277A6DDF9}‘的项
发布于 2016-01-18 23:59:02
若要排除故障,请尝试以下步骤:
Context.Database.GetItem(.)将始终返回项(只要它存在),即使它不包括特定的语言版本。
尝试以下简单测试,以确保以您的语言发布项目:

https://stackoverflow.com/questions/34856135
复制相似问题