htmlencode导致锁定asp.net

时间:2012-06-04 15:44:14

标签: asp.net internationalization html-encode

我的文字显示为html,我用htmlencode过滤了内容。

当我将控件更改为文本框时,我单独留下了htmlencode代码,它大部分都有效。但是,当有国际字符时,例如éúáó,页面上的ajax调用停止了工作。页面实际显示正常,没有错误 - javascript或其他,但页面有效停止工作。

我删除了htmlencode,现在一切正常。该应用程序定义为utf-8。

我只是好奇是否有人理解发生的事情。

1 个答案:

答案 0 :(得分:1)

我的猜测是你的Ajax调用使用HTTP GET方法,并且你使用的是HTML编码而不是URL编码。因此,从Ajax调用构建的URL可能包含´é的HTML编码)等字符,当它们包含重音字符时,这些会破坏您的URL方案,导致请求永远不会发生它到你的服务器端控制器。 é的网址编码实际上是%E9。 URL编码和HTML编码不同。

当你删除了HtmlEncode调用时,我想它修复了&打破URL方案的问题。如果到目前为止我是正确的,最好将Ajax调用更改为使用HTTP POST而不是HTTP GET,以确保消除任何其他URL问题。