繁体   English   中英

设置lookupfield值客户端共享点

[英]Setting lookupfield value client-side sharepoint

关于如何执行此操作的每篇文章都略有不同,似乎无法弄清楚。

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

查找字段值完全相同(它们指向的是不同的列表)。 因此,如果“ Human Resources Document Category具有Test1作为该值,则它也存在于“ 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]那么它不会增加值!

请帮忙。

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

listitem[hrDocCategory] = originalCategoryValue;

如果那仍然不起作用,则可能需要验证两个查找列都指向同一列表。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM