【发布时间】:2013-03-11 17:28:10
【问题描述】:
我正在尝试在如下配置的 MVC3 环境中设置 ReportViewer,
<form id="Form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<rsweb:ReportViewer ID="ReportViewer" runat="server" Width="652px" AsyncRendering="true" PageCountMode="Actual" ProcessingMode="Remote" SizeToReportContent="true">
<ServerReport ReportServerUrl="http://NMBSC-INTERN02/reportserver" ReportPath="/ReportProject/TestReport3" />
</rsweb:ReportViewer>
</form>
问题是我在页面上收到错误,(来自 chrome 调试工具)
Uncaught Sys.WebForms.PageRequestManagerParserErrorException: Sys.WebForms.PageRequestManagerParserErrorException: The message received from the server could not be parsed. ScriptResource.axd:237
Error$create ScriptResource.axd:237
Sys$WebForms$PageRequestManager$_createPageRequestManagerParserError ScriptResource.axd:649
Sys$WebForms$PageRequestManager$_parseDelta ScriptResource.axd:1410
Sys$WebForms$PageRequestManager$_onFormSubmitCompleted ScriptResource.axd:1289
(anonymous function) ScriptResource.axd:47
(anonymous function) ScriptResource.axd:3484
Sys$Net$WebRequest$completed ScriptResource.axd:6364
Sys$Net$XMLHttpExecutor._onReadyStateChange ScriptResource.axd:5984
关于错误,我已经环顾四周,但它总是指删除 UpdatePanel,但我没有。我确实在 iFrame 中有整个部分视图(上图),但无论它是否在 IFrame 中,我都会收到错误消息。其他解决方案谈论 Server.Transfer 和 Response.Write 调用,但是这不是我的代码(它由 ReportViewer 控件生成)我猜我只是在配置中做错了。
要让远程处理模式正常工作,我还缺少什么吗?我可以在本地执行此操作,但如果我可以让远程处理模式工作,它似乎最适合我目前正在处理的项目。
注意
我想值得注意的是,如果我关闭异步模式,报告将正确加载。问题是工具栏上的导航按钮(下一个、第一个、最后一个、上一个)不起作用,并且会抛出与打开 AsyncRendering 时相同的错误。
【问题讨论】:
-
尝试关闭异步渲染。我见过的每个例子都没有使用它。有几个例子我用来在 mvc 中工作:stackoverflow.com/questions/3577118/…stackoverflow.com/questions/6144513/…
-
对,但问题是,我希望它与异步一起工作。我可以让它同步工作,只是工具栏不起作用,我必须做很多工作才能导航多页报告。每一个都需要我重新加载页面。我想 - 某人 - 必须知道如何让它工作,为什么它还存在?
-
我认为你会不走运,微软说它不支持 MVC:connect.microsoft.com/VisualStudio/feedback/details/541538/…。
-
这让我很伤心。谢谢你的帮助。我一直在寻找一个星期的答案,但我只是不知道要搜索什么,所以我最终找到了完全相同的东西:/
标签: asp.net-mvc-3 reportviewer