获取错误 - SCRIPT5022:Sys.WebForms.PageRequestManagerParserErrorException:无法解析从服务器收到的消息

时间:2012-09-07 10:52:32

标签: javascript asp.net updatepanel internet-explorer-7 dopostback

我需要帮助。我在.Net 3.5中创建了一个Web应用程序,它使用asp.net主页,更新面板和服务器控件。我有使用母版页创建的asp.net页面,它包含更新面板,更新面板包含其他服务器控件。我正在尝试使用

生成链接按钮的回发,该按钮位于更新面板中
__doPostBack('<%= ServerControl.ClientID.Replace("_","$") %>', '');

每个浏览器都在执行此代码,但IE7没有执行此javascript。我在IE7中收到此错误:

SCRIPT5022: 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 '

<!DOCTYPE html P'. 
ScriptResource.axd?d=83rNjjrfU8utKX3Fb9DiQ2ssFx4VjayT06ZNJ9Aj38iN2ufeWDf1Hd7nu73QshB8Q80tcmosFZ1IQcnqEvC-7nMUe8kLPGpreZP7iBWnviMAl8vzvxmED51yr720yzPv0&t=ffffffffec2d9970, line 513 character 13

我不知道这里造成了什么。我试过设置这个

ValidateRequest="false" EnableEventValidation="false"

但仍然无法正常工作。我使用了Update面板因为我想向客户端发送异步请求,所以我只想使用Asynchrounous回发类型事件我不想使用PostBack类型的事件(重新加载整个页面)。

请有人帮我这个吗?这将是非常好的帮助。

谢谢,

Anvesh

3 个答案:

答案 0 :(得分:3)

该错误的最常见原因:

  • 调用Response.Write():
  • 响应过滤器
  • 的HttpModules
  • 启用服务器跟踪
  • 调用Server.Transfer()

有关避免错误的详细信息,请参阅此博客 Sys.WebForms.PageRequestManagerParserErrorException - what it is and how to avoid it

答案 1 :(得分:1)

好的,我自己已经解决了这个问题。

我所做的就是设置

ValidateRequest="false"
页面指​​令中的

。我也删除了动作=&#34;#&#34;来自表格标签。

我已经改变了这个

<form id="Form1" method="post" action="#" runat="server">

到此:

<form id="Form1" method="post" runat="server">

我在这里写回复,所以如果有人遇到同样的问题,那么他可以使用这个解决方案。

谢谢, Anvesh

答案 2 :(得分:0)

我遇到了同样的问题,我注意到错误是由于我正在进行插入的表中的现有触发器中的错误引起的。

修正了触发器并且工作正常