Как создать элемент списка календаря sharepoint с помощью клиентской объектной модели - PullRequest
2 голосов
/ 26 января 2012

Я пытаюсь создать событие календаря sharepoint, используя объектную модель клиента.Я могу создать элемент и установить значения столбцов для всех столбцов, кроме столбца «EndDate».Когда я пытаюсь установить этот столбец, я получаю следующую ошибку. Перевод сообщения с немецкого языка: «Неверные данные используются при обновлении записи списка. Поле, которое вы хотите обновить, возможно, защищено от записи».Если пропустить этот столбец, элемент списка, созданный на сервере Sharepoint без свойства enddate, но он не отображается в представлении календаря.Я могу видеть элемент в представлении типа «таблица данных», и если я установлю конечную дату отсюда, она также будет видна при просмотре календаря (странная вещь, это обязательное поле)следует

using (ClientContext ctx = ClaimClientContext.GetAuthenticatedContext(targetSite)){ if (ctx != null)   {  
ctx.Load(ctx.Web); // Query for Web  

    ctx.ExecuteQuery(); // Execute  
            Console.WriteLine(ctx.Web.Title);  
            List list = ctx.Web.Lists.GetByTitle("calendarListName");  
            ctx.Load(list.Fields);  
            ctx.ExecuteQuery();  
            var newItem = list.AddItem(listItemCreationInfo);  
            newItem.Update();           
            newItem["Title"] = "myCalendar"   ..... 
            newItem["EventDate"]= DateTime.Now;  
            newItem["EndDate"]= DateTime.Now.AddMinutes(30);  
            newItem["Location"]= "Office";  
            newItem.Update();  
            ctx.ExecuteQuery();

}

1 Ответ

1 голос
/ 25 июля 2012

Ответом было простое обновление даты события и даты окончания вместе.Оригинальное решение можно увидеть здесь

...