如何防止ASP.NET转换&;符号至&;amp;向控件添加url时';s属性?

如何防止ASP.NET转换&;符号至&;amp;向控件添加url时';s属性?,asp.net,attributes,url,Asp.net,Attributes,Url,这就是我要添加的内容,它将&呈现为& sharelink.Attributes.Add(“addthis:url”、“http://”&Request.url.Host&“/Resources/PublicView.aspx?RID=“&R.ResourceID&”&Key=“&Key”) 我需要它来渲染这个 ?RID=64&Key=%2fwEUKwEDAgQCFAJA 而不是这个 ?RID=64&Key=%2fwEUKwEDAgQCFAJA 转换为&是正

这就是我要添加的内容,它将
&
呈现为
&

sharelink.Attributes.Add(“addthis:url”、“http://”&Request.url.Host&“/Resources/PublicView.aspx?RID=“&R.ResourceID&”&Key=“&Key”)

我需要它来渲染这个

?RID=64&Key=%2fwEUKwEDAgQCFAJA
而不是这个

?RID=64&Key=%2fwEUKwEDAgQCFAJA

转换为
&
是正确的,浏览器应该能够处理它

要证明这一点,请查看源代码


编辑:解释一下,这是正确的方法。写
是错误的。正如ASP.Net在编写
时将使用实体一样,如果在属性中添加了符号,它也将使用实体。

由于评论的限制,我将此评论作为答案发布

我同意,对于严格的XHTML遵从性尤其如此

我已经创建了一个带有
&
&可用于W3C验证

请参阅的演示页面,并单击最底部的超链接以执行w3c验证,或

错误将突出显示,所有错误都指向第14行:

href="http://www.google.com/search?q=stackoverflow&ie=UTF-8"
而在第19行中,则有一个类似的示例,带有
&将通过:

href="http://www.google.com/search?q=stackoverflow&ie=UTF-8"

事实上,你不需要。你试过了吗?我试过了。这仍然不能回答为什么当我告诉.net输出一个字符串时会得到另一个字符串的问题。你可能是对的,一些Borwser或servres可以容纳&;但这仍然留下了一个问题,那就是为什么它在一开始就被改变了;应该被使用,这就是为什么他们!等一下!Internet Explorer(6、7、8?)不支持&;在iFrame的源属性中。我猜他们应该想到能够使用&而不是&这一点。当您试图分解查询字符串中的值时,这是不正确的是用于分隔键值对的保留字符。浏览器应解码
&&解析URL时。