代码之家  ›  专栏  ›  技术社区  ›  Even Mien

SharePoint:如何从列表模板创建新列表?

  •  2
  • Even Mien  · 技术社区  · 17 年前

    我基于问题列表创建了一个列表模板,并将其保存在列表模板库中。现在,如何基于此模板创建新列表?

    4 回复  |  直到 17 年前
        1
  •  3
  •   Johan Leino    17 年前
    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);
    
        2
  •  3
  •   Faez abdulkarem    10 年前

    我今天也遇到了同样的情况。
    我将列表另存为模板,并希望在新列表中使用该模板。
    在Sharepoint 2013上,请访问 网站内容>添加应用>
    向下滚动,你会看到一个页码,表明你在页面上 1.
    点击第二页,您保存的所有模板都将显示在那里

        3
  •  0
  •   Even Mien    17 年前

    定时器工作可能只是花了一段时间才启动。

    模板最终显示为以下选项 Lists > Create > Tracking section 几分钟后。

        4
  •  0
  •   tsap    12 年前

    我很惊讶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 }