sharepoint 2013 создайте библиотеку документов, используя шаблон списка C#

Можно использовать шаблон списка для создания новой библиотеки документов, я пытаюсь выполнить следующий код, но он не работает. Просто создайте библиотеку без использования шаблона.

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();

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, в вашем случае, не был инициализирован должным образом, именно поэтому список создавался с шаблоном по умолчанию.