2

可以使用列表模板来创建新的文档库,我正在尝试以下代码,但它不起作用。它只是创建库而不使用模板。

ListTemplateCollection listTemplates1 = context.Site.GetCustomListTemplates(context.Web);
ListTemplate li1;//
context.Load(listTemplates1);
context.ExecuteQuery();
context.Load(site.ListTemplates);
context.ExecuteQuery();

var listTemplate = listTemplates1.First(lt => lt.Name == "<Test>");

ListCreationInformation li = new ListCreationInformation();
li.Title = "XYZZ2";
li.Description = "Created through Code";
li.TemplateFeatureId = listTemplate.FeatureId;
li.TemplateType = listTemplate.ListTemplateTypeKind;
List newList = context.Web.Lists.Add(li);
context.Load(newList);
context.ExecuteQuery();
4

1 回答 1

1

您可以直接尝试获取模板而不是获取整个集合,如下所示:

ListTemplate listTemplate = context.web.ListTemplates.GetByName("templateName"); 
context.Load(listTemplate);
context.ExecuteQuery();

然后创建你的列表,

ListCreationInformation li = new ListCreationInformation();
li.Title = "XYZZ2";
li.Description = "Created through Code";
li.TemplateFeatureId = listTemplate.FeatureId;
li.TemplateType = listTemplate.ListTemplateTypeKind;
List newList = context.Web.Lists.Add(li);
context.Load(newList);
context.ExecuteQuery();

这可能是因为在您的情况下,listTemplate 尚未正确初始化,这就是使用默认模板创建 List 的原因。

于 2017-02-23T13:19:45.977 回答