我已根据问题列表创建了一个列表模板,并将其保存在列表模板库中。现在如何基于此模板创建新列表?
答案 0 :(得分:3)
string internalName = "MyListTemplateName";
SPListTemplate t = null;
foreach (SPListTemplate template in web.ListTemplates)
{
if (template.InternalName.Equals(internalName)
{
t = template;
break;
}
}
web.Lists.Add("nameoflist", "description", t);
答案 1 :(得分:3)
我今天刚遇到同样的情况
我将列表保存为模板,我想在新列表中使用该模板
在Sharepoint 2013上,转到网站内容>添加应用>
向下滚动,您会看到一个页面编号,说明您在页面上 1
点击第二页,所有保存的模板都在那里
答案 2 :(得分:0)
计时器作业可能需要一段时间才能启动。
几分钟后,模板最终显示为Lists > Create > Tracking section
下的一个选项。
答案 3 :(得分:0)
我很惊讶Johan Leino的答案被多次标记为有用,因为它在这种特殊情况下不起作用。如果您自己创建模板,web.ListTemplates
不会存储该模板,您将无法创建列表。它只适用于开箱即用的模板。
如果你想根据你的自定义模板创建一个列表,你需要这样做:
SPListTemplateCollection listTemplates = web.Site.GetCustomListTemplates(web);
SPListTemplate listTemplate = listTemplates["MyCustomTemplate"];
Guid listId = web.Lists.Add("My New List Name", "My Description", listTemplate);
if (listId != null) { //all good }