javascript - 从 asp.net 3.5 升级到 asp.net 4.0 会导致某些回发出现 javascript 错误

标签 javascript character-encoding asp.net-4.0 iis-7.5

我最近开始将现有的正在运行的 .net 网站从 ASP.NET v3.5 升级到 v4.0,最奇怪的事情发生了。

提交 Web 表单时,我收到如下 JavaScript 错误:

Message: Sys.WebForms.PageRequestManagerParserErrorException: The message received from the server could not be parsed. Common causes for this error are when the response is modified by calls to Response.Write(), response filters, HttpModules, or server trace is enabled. Details: Error parsing near '�'. Line: 5 Char: 84093 Code: 0 URI: http://ajax.microsoft.com/ajax/4.0/1/MicrosoftAjax.js

注意到“详细信息:附近解析错误”附近的奇怪字符了吗?使用 Firebug,我能够获得完整的响应(以 unicode 形式),如下所示:

������ì½I%&/mÊ{JõJ×àt¡$Ø@ìÁÍæìiG#)«*ÊeVe]f@Ìí¼÷Þ{ï½÷Þ{ï½÷º;N'÷ßÿ?\fdlöÎJÚÉ!ªÈ?~|?"væÇægöfÿþϬ²üU>+ê|ÚþÌÏüî{ç«:oºªÍï_Mûû7ùt]çã¬Y½ûÝï/ªYþ»ß5Ùe>ûÿ'��ÿÿ¿Þv5F���

这根本没有意义,老实说我不知道​​如何解决它。 现在我尝试在 web.config 中设置各种内容,例如 controlRenderingCompatibilityVersion="3.5",删除/添加

<meta http-equiv="content-type" content="text/html;charset=utf-8"/>

到标题,使用 4.0 框架目录中的 aspnet_regiis -i 重新安装 asp.net,重新启动 IIS,关闭 scriptmanager 标签上的 EnableCdn 以使用本地脚本文件而不是 hostet cdn,尝试了各种浏览器(IE8、FF3.5)。 6.13、Opera、Safari)。没有运气。下一个选择可能是大锤。

我正在运行 Windows 7 Ultimate 64 位,已尝试使用 IIS 7.5 和 VS2010 的内置 ASP.NET Web 服务器 - 两个 IIS 中都存在同样的问题。

有人可以提出解决方案(除了大锤之外)吗?

最佳答案

它可能与您拥有的一些自定义 http 模块有关,这些模块会动态更改响应内容...可能是合并 css/js 文件的原因...

如果无法访问您的代码,就很难判断。

如果有的话,您可以尝试禁用一些自定义模块

关于javascript - 从 asp.net 3.5 升级到 asp.net 4.0 会导致某些回发出现 javascript 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4581811/

相关文章:

PHP 数据库中的错误字符集

asp.net - 如何以声明方式创建带有数据绑定(bind)参数的 RouteUrls?

iis-7 - 经典 ASP 突然给我权限 (401.3) 错误

jquery - ASP.NET 4 jquery ajax webmethod 调用

javascript - d3.select...相当于 jQuery.children()

http - 在 grails 中编写代理

javascript - FOR循环内的setInterval?

php - 处理要插入 UTF-8 数据库的 CSV 数据编码

javascript - 在 href 中搜索包含特定关键字的元素并隐藏其他元素(在 JavaScript 中)

javascript - 如果选中复选框,则函数更新字符串或值