我正在创建我的ContentTypes,之后我尝试创建我的字段。
我搜索了几个小时关于如何获得群组,我可以在墙上撞到我的头,你可以放置田地(查看图片,看看我所指的是什么)< / p>
有人可以解释我如何从我的照片中获取这些群组的列表吗?
var web = _Ctx.Web;
_Ctx.Load(web, w => w.ContentTypes, w => w.Fields);
_Ctx.ExecuteQuery();
foreach (lavaPOINT_Page page in new PageAndFieldData().Pages)
{
if (!web.ContentTypes.ToList().Exists(i => i.Id.ToString() == page.ID))
{
var spbt = web.ContentTypes.Add(new ContentTypeCreationInformation()
{
Name = page.Name,
Id = page.ID,
Group = page.Group,
Description = page.Group
});
_Ctx.Load(spbt, f => f, f => f.Fields.Include(i => i.InternalName));
_Ctx.ExecuteQuery();
}
}
var fields = web.Fields;
var Groups = ? // how do i get the Groups *??
foreach (var field in new PageAndFieldData().Fields)
{
var teaser = web.Fields.FirstOrDefault(i => i.InternalName == field.field_name); // if dont exist = create
if (teaser == null)
{
var fieldXml = "<Field Type=\"Note\" DisplayName=\"Teaser\" Required=\"FALSE\" EnforceUniqueValues=\"FALSE\" Indexed=\"FALSE\" NumLines=\"6\" RichText=\"FALSE\" Sortable=\"FALSE\" Group=\"Fields\" ID=\"{fdfba8f7-4521-4db4-b6c2-8ab88e065834}\" SourceID=\"{5119e221-4abe-4200-8d82-910db701336a}\" StaticName=\"NewsPageTeaser\" Name=\"NewsPageTeaser\" RestrictedMode=\"TRUE\" RichTextMode=\"Compatible\" IsolateStyles=\"FALSE\" AppendOnly=\"FALSE\" UnlimitedLengthInDocumentLibrary=\"FALSE\"></Field>";
var spField = web.Fields.AddFieldAsXml(fieldXml, false, AddFieldOptions.DefaultValue);
//_Ctx.Load(spField);
//_Ctx.ExecuteQuery();
}
}
答案 0 :(得分:0)
我找到了获得所有群组的方法。但有点确定它不是最好的。
var groups = fields.ToList().Select(i => i.Group).Distinct();