如何在搜索结果中显示特定字段?

时间:2017-06-04 16:08:43

标签: asp.net-mvc razor model-view-controller umbraco7

我使用安装在Umbraco 7.6中的ezSearch包。 我想要做的是让特定字段始终显示在具有用户所需单词的pageName下的搜索结果中,

例如,我在主页(heading1和homeText)中有两个属性

宏中的(搜索结果)代码如下:

@helper RenderContentResult(SearchViewModel model, IPublishedContent result)
{
    <div class="ezsearch-result">
        <h2><a href="@result.Url">@result.Name</a>XX</h2>

        @foreach (var field in model.PreviewFields.Where(field => result.HasValue(field)))
        {
            <p>@Highlight(Truncate(Umbraco.StripHtml(result.GetPropertyValue(field).ToString()), model.PreviewLength), model.SearchTerms)</p>

            break;
        }
    </div>
}

谢谢!

1 个答案:

答案 0 :(得分:1)

由于结果是IPublishedContent,您可以访问您想要的任何属性,例如

result.GetPropertyValue<string>("homeText")

@(result.GetPropertyValue<string>("homeText"))

RenderContentResult中的任意位置,具体取决于所需的Razor syntax