2

有可能使用列表模板來創建新的文檔庫,我想下面的代碼,但它不工作,只是不使用模板創建庫。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 ,在你的情況下,還沒有被正確初始化,這就是爲什麼列表使用默認模板創建的原因。

+0

謝謝你的回覆。我試圖獲取模板的代碼,但我得到了默認模板,我已經創建了自定義模板(其中包含文件庫結構的文件庫),我想使用它。如何獲取自定義模板。 –

相關問題