如何从Sitecore获取所有字段

时间:2015-06-08 10:52:18

标签: sitecore sitecore6

我正在使用Sitecore 6.6。我想获得特定项目的所有字段。

我正在使用此

获取所有字段
FieldCollection fieldcollection = Sitecore.Context.Database.GetItem(Id, LanguageManager.GetLanguages(Sitecore.Context.Database).Where(i => i.CultureInfo.ToString() == Globallanguage).FirstOrDefault(), Sitecore.Data.Version.Latest).Fields;

循环遍历每个字段并将项目添加到列表中

    foreach (Field field in fieldcollection)
    {
        if(fields!=null)
        {
        .....
        }
    }

但是在返回一些字段之后它会给我一个错误

  

对象引用未设置为对象的实例。在Code.Pipeline.NotFoundRedirector.GetAllMappedUrls()

我想知道我是否使用正确的方法来获取所有字段

1 个答案:

答案 0 :(得分:0)

我通过更改版本并添加getall()方法获得了所有字段

 FieldCollection fieldcollection = Sitecore.Context.Database.GetItem(TargetId, LanguageManager.GetLanguages(Sitecore.Context.Database).Where(i => i.CultureInfo.ToString() == Globallanguage).FirstOrDefault(), Sitecore.Context.Database.GetItem(TargetId).Version).Fields;        
 fieldcollection.ReadAll();

循环像往常一样

   foreach (Field field in fieldcollection)
    {
        if(fields!=null)
        {
        .....
        }
    }