-1

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

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},......

请帮忙。谢谢你

4

2 回答 2

1

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

我认为您不需要 InnerData 位-如果您想要一个 foreach 循环,我认为您可以这样做:

foreach (Field i in hit.Template.InnerItem.Fields)
{
    hitParagraph += i.Value.ToString();
}
于 2013-04-10T12:42:57.953 回答
0

根据我从您的代码中了解到的情况,这hit是一个 SitecoreItem类实例。要从中获取所有字段,请使用:

hit.Fields.ReadAll();
foreach (Field field in hit.Fields)
{
    hitParagraph = hitParagraph + field.Key + ": " + item[field.Key] + "\n";
}
于 2013-04-10T12:52:18.587 回答