我有一个报表查看器控件,显示仪表板式报表。它有几个图表来提供概览,但是在IE11中查看时,报表根本不会呈现,只会显示为空白。底层存储过程也在运行。
我进行了一些测试:
- 图表在Firefox(当前版本)中显示。 - 图表在Chrome(当前版本)中显示。 - 图表在IE兼容模式下显示。 - 如果我在我的Web查看器上使用PDF导出功能,它能够将原始字节流转换为带有图表的正确PDF,这意味着报表已经正确运行。当尝试显示报表时,底层存储过程仅运行一次。
我不确定这是否是IE与Web查看器控件交互的问题。
更新 - 通过Fiddler的神奇,似乎请求空白.gif时存在一个错误被吞噬并未显示,我认为这是结果gif的占位符。URL中缺少IterationId。奇怪的是,对于FireFox和Chrome的Fiddler跟踪结果进行审查,同样关于URL中缺少IterationId的错误出现,但图表仍然显示。虽然我认为这仍然是问题所在。
请求头:
我进行了一些测试:
- 图表在Firefox(当前版本)中显示。 - 图表在Chrome(当前版本)中显示。 - 图表在IE兼容模式下显示。 - 如果我在我的Web查看器上使用PDF导出功能,它能够将原始字节流转换为带有图表的正确PDF,这意味着报表已经正确运行。当尝试显示报表时,底层存储过程仅运行一次。
我不确定这是否是IE与Web查看器控件交互的问题。
更新 - 通过Fiddler的神奇,似乎请求空白.gif时存在一个错误被吞噬并未显示,我认为这是结果gif的占位符。URL中缺少IterationId。奇怪的是,对于FireFox和Chrome的Fiddler跟踪结果进行审查,同样关于URL中缺少IterationId的错误出现,但图表仍然显示。虽然我认为这仍然是问题所在。
请求头:
GET /Reserved.ReportViewerWebControl.axd?ReportSession=....&Culture=1033
&CultureOverrides=True&UICulture=1033&UICultureOverrides=True
&ReportStack=1&ControlID=...
&OpType=ReportImage&ResourceStreamID=Blank.gif HTTP/1.1
文本响应
[HttpHandlerInputException: Missing URL parameter: IterationId]
Microsoft.Reporting.WebForms.HandlerOperation.GetAndEnsureParam(NameValueCollection urlQuery, String paramName) +104
Microsoft.Reporting.WebForms.ReportImageOperation.PerformOperation(NameValueCollection urlQuery, HttpResponse response) +102
Microsoft.Reporting.WebForms.HttpHandler.ProcessRequest(HttpContext context) +380
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +599
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +171