将UrlEncoded字符串注入页面 - Firefox与Chrome

时间:2011-01-11 10:51:28

标签: asp.net html markup urlencode

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

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

在Firefox中,它看起来像: %2b<a name="+" href="#">stuff</a>
在Chrome中,它看起来像: %2b<a name="%2b" href="#">stuff</a>

有办法吗?

2 个答案:

答案 0 :(得分:0)

这只是Firebug和Chrome开发者工具显示名称的方式的不同之处。如果您查看来源,则会在两者中找到%2b,如果您在脚本中(或在<a href="#%2b">等链接中)引用它,那就是它。

答案 1 :(得分:0)

我解决了这个问题,手动检查后面的代码是否包含“+”或“=”和UrlEncoded。虽然这不是一个很好的解决方案,但在我的情况下这是可以接受的,因为我知道解码后的字符串包含'+'和'=',所以我可以根据它们是否存在来推断它是否被编码。