服务器发送的消息无法解析。

17

我在asp.net网页中出现以下错误

Sys.WebForms.PageRequestManagerParserErrorException:从服务器接收到的消息无法解析。 导致此错误的常见原因是通过 Response.Write()、响应筛选器、HttpModules 或启用了服务器跟踪来修改响应。

我的页面情况如下所述

  1. 我有一个实现Ajax的asp.net页面
  2. 用户控件所有代码都在更新面板中
  3. 模型弹出窗口扩展器位于aspx页面上,针对用户控件。

当我单击aspx页面上的按钮时,会弹出一个弹出窗口,但是进一步当我单击用户控件上负责填充网格/单选按钮以填充下拉列表的按钮时,在两种情况下都会出现上述错误。

5个回答

28

在UpdatePanel中使用ControlID添加PostBackTrigger

</ContentTemplate>
<Triggers>
    <asp:PostBackTrigger ControlID="PostbackButtonName" />
</Triggers>

14

必须通过ScriptManager注册按钮以进行回传:

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

2

经过一段时间的困惑,我终于意识到在我的web.config中将"runAllManagedModulesForAllRequests"值设置为"true",后来移除了该模块但未移除此设置。

通过将我的web.config设置更改为:

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

完成交易了...! :)

这对我来说也是如此。 - tuespetre

1
  • If use in 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);
               }
    

它不在控件内,其他插件的UpdatePanel中。<asp:UpdatePanel runat =“server” ID =“upl”> <ContentTemplate> </ ContentTemplate> <Triggers> <asp:PostBackTrigger ControlID =“btnDownload” /> </ Triggers> </ asp:UpdatePanel> - Tran Anh Hien

1
当我在另一个UpdatePanel中放置UpdatePanel时,出现了这个错误消息。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接