Sitecore从项目的“数据”部分下读取特定字段

时间:2015-06-24 09:06:14

标签: asp.net sitecore sitecore7

item.Fields.ReadAll(); 

为我们提供该项目的所有字段。有没有办法只获得在“数据”字段下分组的字段 再详细说明一下:

 -> Data
     - Address
     - Street
     - ZIP
 -> Extra Data
     - Phone
     - Fax

所以在这种情况下,我想只获得“数据”部分下定义的字段。

1 个答案:

答案 0 :(得分:0)

从模板ID和数据库中获取模板:

var template = TemplateManager.GetTemplate( item.Template.ID, Factory.GetDatabase("contentDatabaseName"));

然后

private static IEnumerable<TemplateField> GetDataFields(Template template)
 {
            var allFields = template.GetFields();
            var dataFields = allFields.Where(x => x.Section.Name == "Data");
            return dataFields;
}

现在,如果您有字段ID,则可以获取值

var data = item.Fields[field.ID].Value;