我正在尝试基于已保存的模板创建列表。 下面的代码应该获得名称为“ ContactList”的列表,但是我总是收到这样的错误:该名称的列表不存在。 (也尝试过使用功能ID)
var listTemplate = site.ListTemplates.First(lt => lt.Name == "ContactList");
如果我遍历所有列表模板,我只会得到“标准”模板。如果按“添加应用程序”,我可以看到我的模板列表在那里,并且可以添加它。
clientContext.Load(site, s => s.ListTemplates);
foreach (var s in site.ListTemplates)
如何通过代码添加基于现有模板的列表?还是可以做到这一点?我只能添加标准的“自定义列表”
整个代码:
var site = clientContext.Web;
clientContext.Load(site, s => s.ListTemplates);
clientContext.ExecuteQuery();
var listCreationInfo = new ListCreationInformation
{
Title = "ContactTest",
Description = "ContactTest",
};
var listTemplate = site.ListTemplates.First(lt => lt.Name == "ContactList");
listCreationInfo.TemplateFeatureId = listTemplate.FeatureId;
listCreationInfo.TemplateType = listTemplate.ListTemplateTypeKind;
site.Lists.Add(listCreationInfo);
clientContext.ExecuteQuery();