[英]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.