Каждая статья о том, как это сделать, несколько отличается и, похоже, не может понять это.Настройка значения lookupfield на клиентской стороне sharepoint
У меня есть два поля поиска, которые оба присутствуют на моем Listitem
. Здесь я ссылаюсь на элемент списка.
Значения поля поиска точно такие же (они представляют собой разные списки, на которые они указывают). Поэтому, если Human Resources Document Category
имеет Test1
в качестве этого значения, он также существует в списке поиска для поля HR Document Category
.
То, что я хочу сделать, это через CSOM обновить поле, так что если Human Resources Document Category
говорит Test1
Я хочу 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();
}
Это не похоже на работу. Если я сделаю sometrhing как listitem[hrDocCategory] = listitem[humanResourceDocCategory]
, то он не добавит значение !!
Пожалуйста, помогите.