0

我想使用上传到列表模板Gallary的.stp文件创建列表。使用CSOM创建使用.stp模板的列表

- >我正在使用控制台应用程序在在线网站上创建列表。 - >有任何想法如何添加从在线网站的stp文件列表。

我没有使用下面的代码获取自定义列表。

listTemplate = Context.Web.ListTemplates.First(t => t.ListTemplateTypeKind == TemplateID); 

我应该如何在上下文中获得.stp列表模板?

回答

-1

首先只是一个LINQ查询来获取第一个项目。

我假设您使用的是客户端OM? 你有没有明确要求Context.Web.ListTemplates(如:你是否ClientContext.Load(ListTemplates))?否则它将不可用。

试试这个:

var site = context.Web; 
context.Load(site,s => s.ListTemplates); 
context.ExecuteQuery(); 

var listCreationInfo = new ListCreationInformation 
{ 
     Title = "<Your Title>", 
     Description = "<Your Description>" 
}; 

var listTemplate = site.ListTemplates.First(lt => lt.Name == "<Your Template Name>"); 
listCreationInfo.TemplateFeatureId = listTemplate.FeatureId; 
listCreationInfo.TemplateType = listTemplate.ListTemplateTypeKind; 

site.Lists.Add(listCreationInfo); 
context.ExecuteQuery(); 
+0

这是工作,如果你只使用开箱即用的列表模板创建列表。 –