【问题标题】:How do I edit a Sitecore item's multilist field in c#?如何在 c# 中编辑 Sitecore 项目的多列表字段?
【发布时间】:2016-07-19 18:48:17
【问题描述】:

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

【问题讨论】:

    标签: c# list sitecore field


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      我想扩展以前的答案。 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());
                  }
      

      【讨论】:

        【解决方案3】:

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2015-07-17
          • 2014-04-05
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多