2013-04-10 100 views
-1

Hy。我遇到了一个小问题。我正在使用Lucene搜索,我试图从返回结果中的字段获取内容。到目前为止,我已经得到了这个领域的ID。现在我得到了这个领域的ID。Lucene搜索SiteCore从结果中获取字段内容

foreach (var i in hit.Template.InnerItem.InnerData.Fields) 
     { 
      hitParagraph = hitParagraph + i.ToString(); 
     } 

这使我场的ID是这样的

[{25BED78C-4957-4165-998A-CA1B52F67497},20130307T051813] [{5DD74568-4D4B-44C1-B513-0AF5F4CDA34F该模板内},VH \ branea1] [{8CDC337E-A112-42FB-BBB4-4143751E123F},51885b42-bf8b-4f26-8259-125d352457f3] [{D9CF14B1-FA16-4BA6-9288-E8A174D4D522},.....

请帮忙。 谢谢

+0

您能否澄清您正在尝试完成的任务,并在此处提供一些上述代码?什么类型的对象是“命中”? – techphoria414 2013-04-10 12:51:36

回答

0

从我从你的代码明白了,hit是Sitecore的Item类实例。要从中获取所有字段,请使用:

hit.Fields.ReadAll(); 
foreach (Field field in hit.Fields) 
{ 
    hitParagraph = hitParagraph + field.Key + ": " + item[field.Key] + "\n"; 
} 
1

我不完全确定你在追求什么。如果是特定字段的内容,则可以使用hit["fieldname"](假设点击是一个Sitecore项目)。或者hit.Template.InnerItem["fieldname"]会工作,我想。

我认为你不需要的innerdata位 - 如果你想有一个foreach循环,我认为你可以做到这一点,像这样:

foreach (Field i in hit.Template.InnerItem.Fields) 
{ 
    hitParagraph += i.Value.ToString(); 
} 
+0

谢谢。它帮助了我。 – 2013-04-10 13:49:06