0

我正在尝试向 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 目的。

4

1 回答 1

0

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

如果你想强制你的输出,你可以<%=YourCanonical%>在 aspx/whatever 中使用,然后通过在代码中设置它 public string YourCanonical = "http:/..."

于 2011-03-26T00:44:11.923 回答