Hier wird die vollständigen Fehler „Ungültige Daten des Listeneintrag zu aktualisieren, verwendet worden“:EndDate Aktualisierung verursacht
Invalid data has been used to update the list item. The field you are trying to update may be read only.
ich ein Kalenderereignis in Sharepoint zu aktualisieren, bin im Grunde versuchen.
Zuerst bekomme ich Folgendes.
ClientContext clientContext = new ClientContext(deptUrl);
Web web = clientContext.Web;
List list = web.Lists.GetByTitle(deptCal);
clientContext.Load(list);
CamlQuery query = new CamlQuery();
query.ViewXml = "<View><Query><Where><IsNull><FieldRef Name='EndDate' /></IsNull></Where></Query><RowLimit>1</RowLimit></View>";
ListItemCollection allEventIds = list.GetItems(query);
clientContext.Load(allEventIds,
items => items.Include(
item => item["EventID"],
item => item["EventDate"],
item => item["EndDate"]
));
clientContext.ExecuteQuery();
durch eine Schleife Gefolgt:
foreach (var item in allEventIds)
{
Console.Write("EventId: {0} StartDate: {1}\n", item.FieldValues["EventID"], item.FieldValues["EventDate"]);
if (item.FieldValues.ContainsKey("EventDate"))
{
object objValue = item.FieldValues["EventDate"];
if (objValue != null)
{
clientContext.Load(item);
DateTime endDate = DateTime.Parse(objValue.ToString());
item["EndDate"] = endDate; //Updated this!
}
}
item.Update();
}
Dann zuletzt:
clientContext.ExecuteQuery();
Wenn ich andere Artikel zu aktualisieren versuchen, [x] in der ListItem gut funktioniert. Wenn ich versuche, das "EndDate" zu aktualisieren. Ich erhalte den folgenden Fehler:
Microsoft.SharePoint.Client.ServerException was unhandled
Message="Invalid data has been used to update the list item. The field you are trying to update may be read only."
Source="Microsoft.SharePoint.Client.Runtime"
ServerErrorCode=-2147024809
ServerErrorTypeName="System.ArgumentException"
ServerStackTrace=""
StackTrace:
at Microsoft.SharePoint.Client.ClientRequest.ProcessResponseStream(Stream responseStream)
at Microsoft.SharePoint.Client.ClientRequest.ProcessResponse()
at Microsoft.SharePoint.Client.ClientRequest.ExecuteQueryToServer(ChunkStringBuilder sb)
at Microsoft.SharePoint.Client.ClientRequest.ExecuteQuery()
at Microsoft.SharePoint.Client.ClientRuntimeContext.ExecuteQuery()
at Microsoft.SharePoint.Client.ClientContext.ExecuteQuery()
at DisplayOnCalendarUtility.Program.Main(String[] args) in C:\Projects\DisplayOnCalendarUtility\DisplayOnCalendarUtility\Program.cs:line 61
at System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
InnerException:
Wenn das Datum nicht null ist, überprüfen Sie das Format des Datums Sie vorbei und stellen Sie sicher, es ist richtig. Überprüfen Sie außerdem, ob das Datumsfeld tatsächlich vom Datumstyp ist und keine Zeichenfolge. – NoChance
Wäre nicht DateTime.Parse (String) eine gültige Zeichenfolge? Außerdem habe ich überprüft, dass es kein String ist, weil ich versucht habe, einen String-Wert zu speichern. – jmogera