c#razor模板与@ Link.To呈现错误的链接

时间:2017-04-01 20:57:56

标签: razor 2sxc

我有一个模板用于单个产品的详细信息视图。在此模板中,它列出了"标签"和"类别"带有链接以查看相同标签或类别的产品。

我以相同的方式定义标签和类别的链接,但它们的呈现方式不同。

这是我的模板:

<link rel="stylesheet" href="@App.Path/assets/portfolio.css" data-enableoptimizations="bottom"/>
<div class="sc-element">
    <div class="ks-portfolio-detail">
        <div class="row">
            <div class="col-sm-12 col-md-6">@Edit.Toolbar(Content)
                <img src="@Content.Image" alt="@Content.UrlKey" class="img-responsive" />
            </div>
            <div class="col-sm-12 col-md-6">
                <div class="ks-title"><h1>@Content.Title</h1></div>
                ...
                <div class="ks-lable">Categories:</div>
                @{ int count=0; }
                @foreach(var item in AsDynamic(Content.Categories)){
                    count++;
                    <a href="@Link.To(parameters: "category=" + @item.Title)" title="@item.Title">@item.Title</a> 
                    @(count < Content.Categories.Count?" | ":"")
                }
                <br/><br/>
                <div class="ks-lable">Tags:</div>
                @{ int counter=0; }
                @foreach(var item in AsDynamic(Content.Tags)){
                    counter++;
                    <a href="@Link.To(parameters: "tag=" + @item.Name)" title="@item.Name">@item.Name</a>  
                    @(counter < Content.Tags.Count?" | ":"")
                }
            </div>
        </div>
    </div>
</div>

请注意创建类别和标记链接的行:

<a href="@Link.To(parameters: "category=" + @item.Title)" title="@item.Title">@item.Title</a>
...
<a href="@Link.To(parameters: "tag=" + @item.Name)" title="@item.Name">@item.Name</a>

问题

标签Link.To使用&#34;斜杠&#34;像:

http://dnn804/portfolio/tag/Demo2

但该类别会显示如下链接:

http://dnn804/portfolio?category=Flowers

问题

有人可以帮我弄清楚为什么这些链接在使用相同的功能时会以不同的方式呈现?我希望它们看起来像&#34;标签&#34;链接。

提前致谢。

1 个答案:

答案 0 :(得分:1)

Link.To使用DNN内部链接解析。我只是猜测DNN可能会有不同的处理方式,导致特殊链接。 DNN确实会对链接做一些奇怪的事情,就像在主页上一样,这就是我们使用它的原因。 这只是一个猜测。

您可以运行一些实验,例如&#34; cat =&#34;而不是类别,以验证这一点。