首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使Solrnet方面与Solrnet链接?

使Solrnet方面与Solrnet链接?
EN

Stack Overflow用户
提问于 2013-09-25 07:10:44
回答 1查看 199关注 0票数 1

我正在构建一个MVC4应用程序来对wiki文档进行搜索。一切都很好,但我还没有找到最好的方法,使方面可链接。

我在我的起始页面上突出了这些方面,以便更容易地找到您要查找的关键字:

代码语言:javascript
复制
             var products = solr.Query(SolrQuery.All,
                                  new QueryOptions {
                                      Rows = 0,
                                      Facet = new FacetParameters {
                                          Queries = new[] { new SolrFacetFieldQuery("products") }
                                      }
                                  });
        foreach(var facet in products.FacetFields["products"]) {
            var catagoryFacet = new CategoryFacet(facet.Key, facet.Value);
            facetProductList.Add(catagoryFacet);
        }

然后循环遍历视图中的列表,如下所示:

代码语言:javascript
复制
<h2> Products: </h2>

@foreach (var facet in Model)
{
    foreach(var item in facet.products) {    
        <td><a href="http://localhost:5000/Home/FreeSearch?search=@Html.DisplayFor(ModelItem => item.Name)">@Html.DisplayFor(ModelItem => item.Name), @Html.DisplayFor(ModelItem => item.Count)</a></td> <br/>
    }   

但是使用这种方法时,当用户单击链接时,会发生的情况是,我将facet的单词发回给控制器,因为我知道它是存在的,所以会对该关键字进行搜索。

我知道这是一种不好的方式,所以我想找出一种更好的方法,而且由于我来自瑞典,如果我使用“a”中的任何一种,这个链接就断了。可以用javascript来处理,但感觉很难看,那么我如何才能以更好的方式来处理呢?

我一直在查看筛选器查询,但如何使其可链接?

向乔纳森问好

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-25 12:54:21

我简单地把Url.Encode放在Item.Name上解决了这个问题。现在搜索成功了,就像我想的那样。

代码语言:javascript
复制
<h2> Products: </h2>

@foreach (var facet in Model)
{
    foreach(var item in facet.ProductFacets) {    
        <td><a href="http://localhost:5000/Home/FreeSearch?search=@Url.Encode(item.Name)">@Html.DisplayFor(ModelItem => item.Name), @Html.DisplayFor(ModelItem => item.Occurrences)</a></td> <br/>
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18998465

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档