我想使用上传到列表模板Gallary的.stp文件创建列表。
--> 我正在使用控制台应用程序在在线站点中创建列表。-->知道如何从在线站点的STP文件添加列表。
我没有使用以下代码获得自定义列表。
listTemplate = Context.Web.ListTemplates.First(t => t.ListTemplateTypeKind == TemplateID);
我应该如何在上下文中获取 .stp 列表模板?
First 只是一个用于获取第一项的 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();