Asp.net 将URL编码字符串注入页面-Firefox vs Chrome

Asp.net 将URL编码字符串注入页面-Firefox vs Chrome,asp.net,html,markup,urlencode,Asp.net,Html,Markup,Urlencode,以下标记在Firefox和Chrome中的呈现方式似乎有所不同,我不确定如何防止: <%= HttpUtility.UrlEncode("+") %> <%= "<a href='#' name='" + HttpUtility.UrlEncode("+") + "'>stuff</a>"%> 在Firefox中,它看起来像: %2b 在Chrome中,它看起来像: %2b 有办法吗?这只是Firebug和Chrome开发者工具显示名称的方式

以下标记在Firefox和Chrome中的呈现方式似乎有所不同,我不确定如何防止:

<%= HttpUtility.UrlEncode("+") %>
<%= "<a href='#' name='" + HttpUtility.UrlEncode("+") + "'>stuff</a>"%>

在Firefox中,它看起来像:
%2b

在Chrome中,它看起来像:
%2b


有办法吗?

这只是Firebug和Chrome开发者工具显示名称的方式不同而已。如果您查看源代码,您将在这两个文件中都找到
%2b
,如果您在脚本(或
等链接)中引用它,这就是问题所在。

我通过手动在代码中检查返回的字符串是否包含“+”或“=”,以及URL编码是否正确来解决这个问题。虽然这不是一个很好的解决方案,但在我的例子中是可以接受的,因为我知道解码字符串同时包含“+”和“=”,所以我可以根据它们是否存在来推断它是否被编码。

这不仅仅是开发工具。如果我以name作为参数进行回发,我会在Firefox中得到一个解码字符串,在Chrome中得到一个原始字符串。这就是我面临的问题。