【问题标题】:Disable Url Encoding on Asp.Net HyperLink Control in Header tag在 Header 标记中禁用 Asp.Net HyperLink 控件上的 Url 编码
【发布时间】:2011-03-26 00:39:17
【问题描述】:

我正在尝试向 ASP.Net 中的 html 头标签动态添加一个元素。

这是我在母版页中的代码:

    public string LinkConincal
    {
        get
        {
            return Canonical.Href;
        }
        set
        {
            Canonical.Attributes["href"] = value;
        }
    }

我在每个页面上使用此母版页属性并将值设置为适当的链接。

我的问题是,如果 url 中有一个 & 字符,它正在被编码 (&=>&) 并且链接变得无效。

要查看此示例,请在我的页面www.kwyps.com/topic.aspx?t=11&p=1

显示为

<link id="Canonical" rel="canonical" href="http://www.kwyps.com/topic.aspx?t=11&amp;p=1" />

而不是我想要的:

<link id="Canonical" rel="canonical" href="http://www.kwyps.com/topic.aspx?t=11&p=1" />

如何禁用 URL 编码?或者这是有效的?我正在尝试出于 SEO 目的这样做。

【问题讨论】:

    标签: asp.net seo canonical-link


    【解决方案1】:

    它不是对其 HTML/XML 编码进行 urlencoding 并且可能两者都有效,具体取决于您定义的 html 标准类型。

    如果您想强制输出,您可以在 aspx/whatever 中使用 &lt;%=YourCanonical%&gt;,然后通过 public string YourCanonical = "http:/..." 在代码中设置它

    【讨论】:

    • 这行得通!但有一个问题:我无法在母版页中指定属性。我猜内联语句在母版页中不起作用?没有大碍。我对这个解决方案很好!谢谢!
    • @Scen 它确实在母版页中工作,但您需要在母版页代码中定义它。
    • 不,不知道那里发生了什么......对此感到抱歉! (谢谢!)
    猜你喜欢
    • 1970-01-01
    • 2017-07-23
    • 2012-04-02
    • 1970-01-01
    • 2016-04-23
    • 1970-01-01
    • 2012-07-30
    • 1970-01-01
    • 2023-03-02
    相关资源
    最近更新 更多