У меня есть очень простая библиотека документов в SharePoint Online:Получить Mulitple значения в столбце библиотеки для каждого из элементов списка в Sharepoint с CSOM
mysite.sharepoint.com/site/Documents
Я добавил колонку библиотеки на библиотеке, и это множественный выбор позволил.
документы имеют несколько предметов:
Document1.docx : Maths, Science, Internet
Document2.docx : Maths, Other, Science
я хочу перечислить каждый пункт recursivly в консоли со значениями по этому Colum и заменить одну из значения.
Я хочу заменить тему «Maths» на «Математику» кодом C# и CSOM.
Вот мой код. Он работает, когда есть только одно значение, но когда есть множество объектов, выбранных для документа, оно кажется пустым.
Я попытался выполнить бросок, но он, кажется, возвращает массив объектов, и его нельзя перечислить.
ClientContext context = newClientContext("https://mysite.sharepoint.com/site/");
Web web = context.Web;
List list = context.Web.Lists.GetByTitle("Documents");
CamlQuery query = new CamlQuery();
query.ViewXml = @"<View Scope='Recursive' />";
ListItemCollection items = list.GetItems(query);
context.Load(list);
context.Load(items);
context.ExecuteQuery();
foreach (ListItem item in items)
{
if (item["Subjects"] != null && ((item["Subjects"]).ToString()).Contains("Maths")){
Console.WriteLine(item.Id + " - " + item["Subjects"]);
item["Subjects"] = "Mathematics";
item.Update();
context.ExecuteQuery();
}
}
Результат должен быть:
Document1.docx : Mathematics, Science, Internet
Document2.docx : Mathematics, Other, Science