【问题标题】:Setting lookupfield value client-side sharepoint设置查找字段值客户端共享点
【发布时间】:2016-04-28 22:29:30
【问题描述】:

关于如何做到这一点的每篇文章都略有不同,似乎无法弄清楚这一点。

我的Listitem 上有两个查找字段。我在这里参考了列表项。

查找字段值完全相同(它们是它们指向的不同列表)。所以如果Human Resources Document CategoryTest1 作为这个值,它也存在于字段HR Document Category 的查找列表中。

我想做的是通过 CSOM 更新字段,所以如果 Human Resources Document CategoryTest1 我也想 HR Document Category 显示 Test1

foreach (var listitem in listItemCollection)
                {
                    //var boxedListItem = (SPListItem)listitem;
                    context.Load(listitem, f=>f.DisplayName, f=>f.FieldValuesAsText);
                    context.ExecuteQuery();

                //get reference to lookup field value
                var humanResourceDocCategory = "Human_x0020_Resources_x0020_Document_x0020_Category";
                FieldLookupValue originalCategoryValue = listitem[humanResourceDocCategory] as FieldLookupValue;

                //get ref to HR Document Category
                var hrDocCategory = "HR_x0020_Document_x0020_Category";
                listitem[hrDocCategory] = originalCategoryValue.LookupId;
                //listitem
                //listitem.ParseAndSetFieldValue(hrDocCategory, originalCategoryValue.Id);


                listitem.Update();
                context.ExecuteQuery();
                Console.WriteLine();



            }

这似乎不起作用。如果我做一些像listitem[hrDocCategory] = listitem[humanResourceDocCategory] 这样的事情,它不会增加价值!!

请帮忙。

【问题讨论】:

    标签: c# .net sharepoint csom


    【解决方案1】:

    originalCategoryValue 已经是 FieldLookupValue 对象,因此您应该能够直接将其指定为查找字段的值。

    listitem[hrDocCategory] = originalCategoryValue;
    

    如果这仍然不起作用,您可能需要验证两个查找列是否指向同一个列表。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-12-26
      • 2022-01-11
      • 1970-01-01
      • 2020-05-11
      • 2011-10-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多