首页 > 解决方案 > Reportviewer 在 IIS 上给出 Uncaught Sys.WebForms.PageRequestManagerServerErrorException

问题描述

我在我们的服务器上有具有远程处理模式的 RDLC 报告,它们工作正常,但是当我使用 webforms reportviewer 控件和 scriptmanager 以编程方式打开它们时,它在我们服务器上的 IIS 10 上不起作用。

我在本地检查了相同的代码,也在我的本地系统 IIS 上检查了它们工作正常,服务器上的 IIS 一定有问题,当我检查报告时,它给出了以下 javascript 错误,我认为 scriptmanager 在尝试获取记录时在第一次报告获取数据时给出错误,但是当我选择任何参数并再次单击查看报告按钮时,它会给出 javascript 错误。请帮忙。

这个问题只出现在一台 IIS 服务器上,在其他服务器上相同的代码工作正常,还在共享服务器上测试它并且工作正常,IIS 有任何问题,因为它在 2 周前工作正常。

<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePartialRendering="true" >  
            </asp:ScriptManager>
                 <rsweb:ReportViewer  ID="ReportViewer1" KeepSessionAlive="true" AsyncRendering="False" runat="server" ProcessingMode="Remote" Height="100%" Width="100%">      
            <ServerReport DisplayName="" ReportPath="" 
                ReportServerUrl="" />
        </rsweb:ReportViewer>

我在 chrome 检查中收到的错误

标签: rdlcreportvieweriis-10

解决方案


代码中发生了错误。您可以启用失败的请求跟踪以检查异常日志。

在 asp:ScriptManager 下添加脚本。它将在控制台中显示错误消息。然后分析错误的原因并修复它。

通常,由于您在代码后面部分中编写的一段错误代码而发生错误,服务器拒绝接受。找到代码中的错误并修复它。

<script type="text/javascript" language="javascript">
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
function EndRequestHandler(sender, args) {
    if (args.get_error() != undefined) {
        var msg;
        msg = args.get_error().message;
        console.log(msg);
    }
}

推荐阅读