为什么一个项目的FieldLookupValue不能在csom中初始化?

Why FieldLookupValue of an item can not be initialized in csom?

我要初始化共享点列表的项目。其中一个字段是一个查找字段,但是当我要初始化它时,没有为它设置任何值。

这是我的代码:

var clientContext =
   new ClientContext(aURL)
   {
       Credentials = new System.Net.NetworkCredential(somestring)
   };
Web oWebsite = clientContext.Web;
List teachersList = oWebsite.Lists.GetByTitle("Teachers");
FieldLookupValue lookupField = new FieldLookupValue();
lookupField.LookupId = anInteger;
teacherInfoListItem["ProfessorID"] = lookupField;
teacherInfoListItem["Title"] = value;
teacherInfoListItem["LastName"] = value;
teacherInfoListItem.Update();
clientContext.ExecuteQuery();

您的代码逻辑应该没有问题,请确保查找列表中存在 anInteger 项。

我测试过的代码。

 using(var clientContext =new ClientContext("http://sp"))
            {
                var web = clientContext .Web;
                var oList = web.Lists.GetByTitle("TestDetails");

                ListItemCreationInformation itemCreateInfo = new ListItemCreationInformation();
                ListItem oListItem = oList.AddItem(itemCreateInfo);
                FieldLookupValue lookupField = new FieldLookupValue();
                lookupField.LookupId = 1;
                oListItem["Title"] = "My New Item!";
                oListItem["Name"] = lookupField;
                oListItem.Update();
                clientContext.ExecuteQuery();

                Console.WriteLine("complete");
            }