无法基于包含使用COM的自定义视图的自定义模板创建列表

时间:2016-03-30 11:57:55

标签: c# sharepoint sharepoint-2013 client-object-model

我无法从Sharepoint 2013创建基于自定义列表模板的列表。列表已正确创建,但不包含列表模板中定义的视图。

在我的代码中,首先我得到listTemplate:

apm link <path-to-directory>

然后创建ListCreationInformation对象:

    ListTemplateCollection ltc = context.Site.GetCustomListTemplates(context.Web);
context.Load(ltc);
context.ExecuteQuery();
ListTemplate listTemplate = ltc.FirstOrDefault(n => n.Name == "name");

然后,将列表添加到Context Sharepoint

ListCreationInformation lc = new ListCreationInformation();
lc.Title = GetNameDocumentLibrary(nombreBibliotecaDocumentos);
lc.TemplateType = listTemplate.ListTemplateTypeKind;
lc.TemplateFeatureId = listTemplate.FeatureId;
lc.QuickLaunchOption = QuickLaunchOptions.DefaultValue;

最后我分配了ContentTypes:

List newList = context.Web.Lists.Add(lc);
newList.ContentTypesEnabled = true;
newList.OnQuickLaunch = true;
newList.Update();
context.ExecuteQuery();

但是当我显示新列表的配置时,没有listTemplate中定义的视图。

我不知道如何使用客户端对象模型从列表模板添加视图

感谢您的支持

1 个答案:

答案 0 :(得分:0)

当前的COM似乎无法从客户端定义的自定义列表模板创建列表。看起来API无法区分基本列表模板和从其继承的列表模板,因为它们共享相同的模板功能ID。

我建议您直接从COM创建列表。

参考: https://social.technet.microsoft.com/Forums/en-US/c018867b-d8c3-438a-b3f9-959b6d42fbcc/create-list-using-custom-template-using-the-client-object-model?forum=sharepointdevelopmentprevious