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

时间:2016-07-19 18:48:17

标签: c# list sitecore field

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

3 个答案:

答案 0 :(得分:4)

我假设您已经在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

答案 1 :(得分:3)

我想扩展以前的答案。 有一个API可以使用Sitecore中的多个列表字段,您应该考虑它,而不是手动生成管道分隔的字符串值。类似的东西:

  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());
            }

答案 2 :(得分:0)

您可以了解在内容编辑器中打开“原始值”时应该将哪些内容放到字段中。

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