使用搜索表单搜索HTML DOM树

时间:2016-09-28 10:52:44

标签: html dom model-view-controller umbraco

我有一个类似字典的页面。我使用Umbraco生成页面中的单词,每个单词都有一个描述。它是营养词,所以它就像'盐','维生素B12'等。现在,我必须创建一个搜索栏,搜索这些词并返回结果,我需要它是模糊的。我不需要每次使用Umbraco,但到目前为止,我正在使用MVC和剃刀进行项目。我不知道如何让它搜索页面。

<div class="row">

            @foreach (var item in Model.Content.Descendants("lekseisDiatrofikouLeksikou"))
            {





                <div class="col-sm-3 styled">
                    <button data-id="@id" type="button" class="btn">
                        @(item.GetPropertyValue<string>("leksi"))
                    </button>
                    <div id="@("button-wrapper"+id)" class="col-xs-12 styled2 text-center nopadding">
                        @Html.Raw(item.GetPropertyValue<string>("perigrafiLeksis"))
                    </div>
                </div>
                id++;
            }

        </div>

这是我用来生成字典中单词的循环。这会为每个单词生成一个bootstrap col-sm-3。我根本不知道如何搜索这些单词。我应该在HTML中搜索DOM树吗?

1 个答案:

答案 0 :(得分:2)

没有!绝对:)在Umbraco中,您可以使用Examine / Lucene索引来实现快速简便的搜索功能。它使搜索变得更容易。您仍然可以在页面后代中执行此操作,但在这种情况下检查会更好。

在此处查看简介和详细信息:https://our.umbraco.org/documentation/reference/searching/examine/然后转到https://our.umbraco.org/documentation/reference/searching/examine/overview-explanation以检查如何使用Fluent API并构建查询,您只能在其中搜索你感兴趣。

看起来像这样:

var umbracoHelper = new UmbracoHelper(UmbracoContext.Current);
var searchCriteria = ExamineManager.Instance.CreateSearchCriteria();

var valuesToSearch = new string[] { "salt", "vitamin" };

searchCriteria.NodeTypeAlias("AliasOfYourDictionaryItemDocumentType");
searchCriteria.GroupedOr(new List<string>() { "propertyAliasInWhichWeWantToSearch" }, valuesToSearch);

var results = umbracoHelper.TypedSearch(searchCriteria);

您将拥有从索引搜索返回的项目列表。它没有经过测试,但希望能够帮助您找到正确的方向。快乐的编码!