【问题标题】:Metadata column update using client object model in Sharepoint 2013在 Sharepoint 2013 中使用客户端对象模型更新元数据列
【发布时间】:2014-07-22 20:10:23
【问题描述】:

我在 Sharepoint 2013 网站上工作,我需要手动将值添加到库“Drop Off Library”中的元数据列“Network”。我检查文档中是否存在特定单词,然后尝试更新该项目。当我尝试更新“网络”列和其他选择列“PickUp”时。我的元数据列未更新,但选择列已更新。 下面是我的代码。请注意我正在使用 CSOM。

foreach (Microsoft.SharePoint.Client.ListItem item in ItemCol)
                {
foreach(Term Tstring in termColl)
                        {
                            object findText = Tstring.Name;
                            word.Selection.Find.ClearFormatting();
                            if (word.Selection.Find.Execute(ref findText,
                                ref missing, ref missing, ref missing, ref missing, ref missing, ref missing,
                                ref missing, ref missing, ref missing, ref missing, ref missing, ref missing,
                                ref missing, ref missing))
                            {

                                item.File.CheckOut();
                                item["Network"] = "3;#Cartoon"; //My term:cartoon with 3 as term id(checked in TaxonomyHiddenList)
        item["PickUp"] = "Yes";
                                item.Update();
                                context.Load(item);
                                lists.Update();
                                context.ExecuteQuery();
                                item.File.CheckIn("Done", CheckinType.MajorCheckIn);
}
}

【问题讨论】:

    标签: sharepoint sharepoint-2010 sharepoint-2013


    【解决方案1】:

    我用下面的代码解决了

    if (word.Selection.Find.Execute(ref findText,
                                    ref missing, ref missing, ref missing, ref missing, ref missing, ref missing,
                                    ref missing, ref missing, ref missing, ref missing, ref missing, ref missing,
                                    ref missing, ref missing))
                                {
    item.File.CheckOut();
                                        TaxonomyFieldValue termValue = null;
                                        TaxonomyField txField = context.CastTo<TaxonomyField>(lists.Fields.GetByTitle("Network"));
                                        termValue = new TaxonomyFieldValue();
                                        termValue.Label = Tstring.Name;
                                        termValue.TermGuid = Tstring.Id.ToString();
                                        termValue.WssId = -1;
                                        txField.SetFieldValueByValue(item, termValue);
                                        item["GetMetadata"] = "Yes";
                                        item.Update();
                                        item.File.CheckIn("Done", CheckinType.MajorCheckIn);
                                        context.Load(item);
                                        context.ExecuteQuery();
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多