Как создать новый список из шаблона списка (клиентская объектная модель) - PullRequest
5 голосов
/ 02 февраля 2012

Я создаю список на основе пользовательского шаблона списка. Список создается, но пользовательский шаблон списка не применяется для моего списка.

ListTemplate template = null;
ListTemplateCollection ltc = context.Site.GetCustomListTemplates(context.Web);
context.Load(ltc);
context.ExecuteQuery();  

foreach (ListTemplate t in ltc)
{
    if (t.InternalName == "STPDiv.stp")
    {
        template = t;
        break;
     }
}

ListCreationInformation info = new ListCreationInformation();
info.Title = "TestCreation";
info.TemplateType = template.ListTemplateTypeKind;
info.TemplateFeatureId = template.FeatureId;           
info.QuickLaunchOption = QuickLaunchOptions.DefaultValue;
site.Lists.Add(info);
context.ExecuteQuery();

Как мой код можно изменить, чтобы применить пользовательский список?

1 Ответ

6 голосов
/ 07 марта 2012

Попробуйте этот код, указанный ниже. Это должно работать для вас. Дайте мне знать, если у вас возникнут какие-либо проблемы.

ClientContext context = new ClientContext("<Your Site URL>");
Web site = context.Web;            
context.Load(site);
context.ExecuteQuery();

//Create a List.
ListCreationInformation listCreationInfo;
List list;

listCreationInfo = new ListCreationInformation();
listCreationInfo.Title = "<Your Title>";
listCreationInfo.Description = "<Your Description>";

var listTemplate = 
            site.ListTemplates.First(listTemp => listTemp.Name == "<Your Template Name>");
listCreationInfo.TemplateFeatureId = listTemplate.FeatureId;

list = site.Lists.Add(listCreationInfo);
context.ExecuteQuery();

Согласно Microsoft: ListCreationInformation членов

TemplateFeatureId = Получает или задает значение, которое указывает идентификатор объекта, который содержит схему списка для нового списка

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...