无法在Sharepoint online中使用CSOM以编程方式在自定义列表中创建日历视图

时间:2016-11-11 10:40:17

标签: c# sharepoint sharepoint-online

我无法在Sharepoint在线使用CSOM以编程方式在自定义列表中创建日历视图。我收到服务器异常"无法完成此操作。请再试一次"。我能够使用UI而不是通过代码来做同样的事情。我使用了以下代码

           `Web web = context.Web;
            context.Load(web);
            context.ExecuteQuery();
            List list = context.Web.Lists.GetByTitle("myCal");
            context.Load(list);
            context.ExecuteQuery();
            ViewCreationInformation vci = new ViewCreationInformation();
            vci.Title = "Calviews1";
            vci.ViewTypeKind = ViewType.Calendar;
            vci.RowLimit = 0;
            context.ExecuteQuery();
            View view = list.Views.Add(vci);
            context.ExecuteQuery();`

如果我使用代码在自定义列表中创建任何其他类型的视图,它可以工作。此外,如果我在日历列表中创建日历视图,它仍然有效。但不仅仅是我使用代码为自定义列表创建日历视图

2 个答案:

答案 0 :(得分:1)

最终由Microsoft支持团队发现答案。 我们需要使用vci.ViewTypeKind = ViewType.Calendar | ViewType.Recurrence;

检查链接以获取更多详细信息: https://social.msdn.microsoft.com/Forums/office/en-US/463a0cc9-9036-493f-a770-d5ee3a103a92/can-not-create-calendar-view-in-custom-list-programatically-using-csom-in-sharepoint-online?forum=sharepointdevelopment

答案 1 :(得分:-1)

你应该使用ExecuteQueryAsync来使用你在上下文中加载的对象,而不是使用ExecuteQuery。

更多信息: https://msdn.microsoft.com/en-us/library/office/dn168907.aspx?f=255&MSPPError=-2147217396