繁体   English   中英

如何在c#中编辑Sitecore项目的多列表字段?

[英]How do I edit a Sitecore item's multilist field in c#?

我正在创建一个导入脚本,以使用电子表格中的数据更新Sitecore中的项目。 其中几个字段是多列表。 例如,应该在电子表格中输入的电子表格中的数据可能是“红色,蓝色,绿色”。 如何编辑多列表字段的值?

我假设您已经在Sitecore中拥有了称为颜色的项目。 您需要找到它们的ID并将其设置为以|分隔的字段值。 字符,例如{some-guid}|{another-guid}|{and-one-more-guid}

Item redColorItem;
Item blueColorItem;
Item greenColorItem;

Item importedItem;
importedItem["Colors"] = redColorItem.ID + "|" + blueColorItem.ID + "|" + greenColorItem.ID

我想扩展以前的答案。 您应该考虑在Sitecore中使用API​​处理多列表字段,而不是手动生成用管道分隔的字符串值。 就像是:

  using (new EditContext(item))
            {
                MultilistField mlField = new MultilistField(item.Fields["Multilist"]);
                mlField.Add(redColorItem.ID.ToString());
                mlField.Add(blueColorItem.ID.ToString());
                mlField.Add(greenColorItem.ID.ToString());
            }

您可以了解在内容编辑器中打开“原始值”时应在字段中输入的内容。

“多列表”字段包含其他带有“ |”的ID 分隔器。 这意味着您应该创建红色,蓝色和绿色的项作为字典。 然后将“红色,蓝色,绿色”转换为{绿色项的id} | {蓝色项的id} | {绿色项的id。}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM