使用Ajax的PageRequestManagerParserErrorException问题

时间:2011-05-26 00:18:55

标签: asp.net iis-7 asp.net-ajax

我今天花了几个小时试图弄清楚以下错误:

Sys.WebForms.PageRequestManagerParserErrorException: Object reference not set to an instance of an object

请注意,我认为我的错误与下面的错误不同,所以请不要与我得到的错误混淆:

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.

我尝试了不同的解决方案,例如禁用EventValidation,RoleManager cookie等。 PartialRender = false脚本maanger它给了我另一个错误... XhtmlConformation type =“Tranitional”不起作用...... Application Eror中的Context.ClearError()无效... 我在我的页面中没有得到任何Response.Write语句,或者在此页面中描述的内容: http://weblogs.asp.net/leftslipper/archive/2007/02/26/sys-webforms-pagerequestmanagerparsererrorexception-what-it-is-and-how-to-avoid-it.aspx

当我回发页面并在我的IE中显示为java脚本错误时,会发生此错误。

在回发期间,我的页面只会添加/删除一些内置AjaxPanel的控件。

每个Ajax页面在我的开发机器和我设置的其他几个Web服务器上运行良好。 但是今天当我远程登录为办公室安装我的应用程序时,出现了上述错误。

我尝试删除在回发期间动态添加/删除控件的代码,并且它可以处理罚款。 但是需要那部分编码。 并且奇怪的是,在每台服务器上工作但不是那个服务器。

我想知道我还能做些什么来进一步调试?由于错误只发生在我们客户的服务器上(他们需要服务器工作)我很难调试,我现在所能做的只是更改一些我认为可以解决它的代码并上传到他们的服务器来测试它

或者可能的解决方案是什么?

1 个答案:

答案 0 :(得分:0)

几个月前,当我从IE 9迁移到IE 10时,我遇到了这个错误。

ASP.NET AJAX Client Library 4.x和IE 10之间似乎存在(某些)不兼容问题。

我发现更改IE的兼容性设置,可以解决我的问题。 我添加了以下一行:

<meta http-equiv="X-UA-Compatible" content="IE=9" />

在我的页面顶部作为html head section的第一行,在每个其他标记之前(如下),

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <meta http-equiv="X-UA-Compatible" content="IE=9" />
    ...

PageRequestManagerParserErrorException再也没有发生过,但由于更改了兼容性设置,某些IE10特定的CSS3规则没有受到影响。

我最近把这种情况写到了Microsoft Connect,他们告诉他们正在调查。