无法解析从服务器收到的消息

时间:2010-04-22 13:04:36

标签: asp.net ajax

我在asp.net网页上收到以下错误

  

Sys.WebForms.PageRequestManagerParserErrorException:   从服务器收到的消息   无法解析。常见原因   这个错误是在响应时   通过调用Response.Write()进行修改,   响应过滤器,HttpModules或   服务器跟踪已启用。

我的网页方案如下

  1. 我有实现Ajax的asp.net页面
  2. 用户控制所有代码都在更新面板内
  3. 用户控件的aspx页面上的模型弹出扩展程序。
  4. 当我点击aspx页面上的一个按钮时会出现一个弹出窗口,但是当我点击用户控件上的按钮负责网格填充/点击单选按钮填充下拉列表时,出现上述错误

5 个答案:

答案 0 :(得分:25)

使用ControlID

在UpdatePanel中添加PostBackTrigger
</ContentTemplate>
<Triggers>
    <asp:PostBackTrigger ControlID="PostbackButtonName" />
</Triggers>

答案 1 :(得分:11)

必须使用ScriptManager注册回发按钮:

protected void Page_Load(object sender, EventArgs e)
{
    System.Web.UI.ScriptManager.GetCurrent(this).RegisterPostBackControl(btnExport);            
}

答案 2 :(得分:2)

在被困了一段时间之后,我终于意识到我在web.config中将“runAllManagedModulesForAllRequests”值设置为“true”,随后删除了Module但没有删除此设置。

将我的web.config设置切换为:

<system.webServer>
  <modules runAllManagedModulesForAllRequests="false"/></system.webServer>

完成交易......! :)

答案 3 :(得分:1)

当我将UpdatePanel放在另一个UpdatePanel中时,我收到此错误消息。

答案 4 :(得分:0)

  • 如果在Repeater中使用:event rpt_ItemDataBound add:

    ImageButton btnDownload =(ImageButton)e.Item.FindControl(“btnDownload”);

               if (btnDownload != null)
               {   ScriptManager.GetCurrent(this.Page).RegisterPostBackControl(btnDownload);
                   var scriptManager = ScriptManager.GetCurrent(this.Page);
                   if (scriptManager != null)
                     scriptManager.RegisterPostBackControl(btnDownload);
               }