SSRS 报表查看器 - 报表图表无法在 IE11 中显示

2023-12-09

我有一个报告查看器控件,显示仪表板麦粒肿报告。 它有一些图表可以提供概述,但是在 IE11 中查看时,该报告根本不呈现,只是显示为空白。 底层存储过程也正在运行。

我做了一些测试

  • 图表显示在 Firefox 中(当前)
  • 图表显示在 Chrome 中(当前)
  • 图表以 IE 兼容模式显示。
  • 如果我使用 Web 查看器上的 PDF 导出功能,它可以将原始字节流转换为带有图表的正确 PDF,这意味着报告可以正常运行。当最初尝试显示报表时,底层存储过程仅运行一次。

我不确定这是否是 IE 与 webviewer 控件交互方式的问题。

更新 - 凭借 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

缺失的 IterationId 帮助我找到了类似的场景。 IterationId 在 IE11 中会像在 Chrome 和 Firefox 中一样失败,这是有道理的,因为 IE11 将自己引入为 Mozilla 客户端。 “用户代理:Mozilla/5.0(Windows NT 6.1;WOW64;Trident/7.0;rv:11.0),如 Gecko”

根据 Devin Steinke 的这篇文章SQL Reporting Services - 查看器在非 IE 浏览器中损坏

在我后面的 Global.asax 代码中,我仅将 IterationId 参数附加到 ReportViewerWebControl Blank.gif 的请求上。 它现在可以在 IE11 中运行,并且仍然可以在 FireFox、Chrome 和旧版本的 IE 中运行。

您将不再看到 fiddler 的异常,结果文本显示 GIF 的检索,在我的例子中为“GIF89a”。

VB.NET:

Sub Application_BeginRequest(ByVal sender As Object, ByVal e As EventArgs)
    Dim pathQuery = HttpContext.Current.Request.Url.PathAndQuery
    Dim url = HttpContext.Current.Request.Url.ToString().ToLower()

    If pathQuery.StartsWith("/Reserved.ReportViewerWebControl.axd") And Not url.Contains("iteration") Then

        Dim resourceStreamId = HttpContext.Current.Request.QueryString("ResourceStreamId")

        If IsNothing(resourceStreamId) Then Return

        If resourceStreamId.ToString().Equals("blank.gif", StringComparison.InvariantCultureIgnoreCase) Then
            Context.RewritePath(String.Concat(HttpContext.Current.Request.Url.PathAndQuery, "&IterationId=0"))
        End If

    End If
End Sub

C#:

void Application_BeginRequest(object sender, EventArgs e)
{
    // Bug fix for MS SSRS Blank.gif 500 server error missing parameter IterationId
    // https://connect.microsoft.com/VisualStudio/feedback/details/556989/
    if (HttpContext.Current.Request.Url.PathAndQuery.StartsWith("/Reserved.ReportViewerWebControl.axd") &&
     !String.IsNullOrEmpty(HttpContext.Current.Request.QueryString["ResourceStreamID"]) &&
        HttpContext.Current.Request.QueryString["ResourceStreamID"].ToLower().Equals("blank.gif"))
    {
        Context.RewritePath(String.Concat(HttpContext.Current.Request.Url.PathAndQuery, "&IterationId=0"));
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SSRS 报表查看器 - 报表图表无法在 IE11 中显示 的相关文章

  • IE11 中的 JavaScript 给我脚本错误 1003

    我有一个带有手风琴和一些 javascript 的网站 在 Firefox 中一切正常 但在 IE11 中出现错误 SCRIPT1003 应为 我将其范围缩小到 js 文件中的这段代码 var nmArray new Array funct
  • 使用 Reporting Services 将组保持在一页上

    我使用 Reporting Services 创建了一个报表作为 C 应用程序的一部分 但我找不到一些我习惯在其他环境中看到的功能 我相信 MS Access 和 Crystal 报表都有一个名为 保持在一起 的选项 这样您就可以将特定的数
  • 使用表达式动态决定打开哪个子报表

    我有一份报告 其中包含几页带有图表 表格等的内容 该报告由总是希望对报告进行小修改的不同客户使用 目前 如果客户想要对第 5 页进行更改 则会通过修改重新创建整个报告 即使唯一的更改是在第 5 页的图表中 更重要的是 一些客户不想看到第 3
  • 基于多种条件的SSRS查找

    我有一个数据集 卷 如下所示 在我的报告中 我想要得到的是 查找表达式 Lookup Fields Id Value Fields Id Value Fields Volume Value Volume 只能根据 ID 进行查找 有什么方法
  • 使用 IE11 的工作程序使用 multipart/form-data 发送二进制数据

    我正在尝试发送multipart form data来自 IE 的工作人员 我已经使用 Chrome Firefox Safari 完成了此操作formData对象 不支持IE 我需要一个手动的 我发送的二进制数据是 crypto js 加
  • 使用 SendKeys 向 IE 11 发送“@”特殊字符

    我正在尝试使用 Internet Explorer 11 中的 SendKeys 方法将特殊字符发送到文本框 尝试在其他浏览器中发送特殊字符时我没有遇到此问题 但 Internet Explorer 在尝试发送时发送完全不同的字符特殊字符
  • 窗口对象没有创建它的页面附加的属性

    我用window open url target 开一个url在新选项卡 窗口中 在此之前 我在新打开的窗口对象上设置了一些属性 目的是将数据从该页面 新窗口的创建者 传递到新创建的窗口 在除 Internet Explorer 之外的所有
  • SSRS中可选的多值参数

    我的报告中有 3 个多值参数 其中 2 个是可选的 有没有办法在不从 2 个可选参数中选择任何参数的情况下获得报告中的结果 我的存储过程将多值参数检查为 States IN SELECT FROM Split State 我已经使用 WHE
  • ArcGIS JavaScript API 3.9 - 鼠标拖动事件在 Internet Explorer 11 中不起作用

    我在 Internet Explorer 11 中遇到来自 ArcGIS API for JavaScript 3 9 的鼠标拖动事件问题代码如下 map on mouse drag zobraudalost function zobrau
  • SSRS:报告加载外部图像,找不到图像,我可以隐藏图像控件吗

    我的 SSRS 报告从报告服务器上的客户编号特定文件夹中加载每个客户的徽标图像 我编写一个表达式 根据客户编号形成图像的 URL http localhost images iCustomerNumber ToString logo gif
  • 由于 polyfills.js,Google 地图兼容性 IE11 无法正常工作

    我的应用程序网站在 IE11 上无法正常工作 该网站无法加载 它给我一个空白页面 这是 IE11 上抛出的错误 SCRIPT5005 String expected js 26 286 SCRIPT5022 Exception thrown
  • 为网格注入浏览器前缀不适用于 Vue

    我已经在这件事上浪费了一个下午的时间了 我被难住了 我发现IE11不支持grid template我需要使用 ms grid columns and ms grid rows相反 我正在尝试生成一些 CSS 并通过 Vue 方法注入它 这适
  • SSRS仅显示第一行

    我在 SSRS 中有一个非常基本的报告 显示数据网格 查询正确返回多行 但报告仅显示第一行 查询就像 SELECT FROM 一样简单 我没有任何特殊的格式 并且 tablix 位于报告的详细信息部分 而不是意外的页眉或页脚 我还可以检查什
  • 管理员无法管理 SQL Server 报告服务

    我正在 SQL Server 2008 Standard 上运行 SQL Server Reporting Services 并尝试使网页正常工作 我需要做什么才能获得 RS 报表管理器 报表服务连接 首先将我视为管理员 以便我可以更改我的
  • 尝试从 Web 应用程序访问报告服务时,Internet Explorer 导致 IIS 500 错误

    我有一个 aspx Web 表单页面 它调用托管在 SQL 2012 报告服务服务器上的 SQL 2012 SSRS 报表 并使用报表查看器在 aspx 页面上显示报表 问题是当我单击链接将参数发送到报告服务器并运行报告时 页面挂起 仅在
  • 使用 Switch 的报告服务表达式

    我无法让这个表达式与报告服务一起使用 我必须使用 IF 和 ELSE IF 语句 感谢您的任何建议 Switch IsNothing Fields field date Value Fields set flag Value 1 Decli
  • 如何在SSRS中的表上创建热图?

    如何在 SSRS 中创建这样的内容 颜色将根据行中的值 承销商 从红色变为绿色 所有这些都在一个组中 您可以通过右键单击各个单元格并根据表达式设置填充颜色来完成此操作 In the Image below I ve mistakingly
  • SSRS rdl 从特定页面删除页眉和页脚

    我想从特定页面中删除页眉和页脚 例如从 5 页中的第 2 页 第 3 页中删除 因为当我们将其导出到 Excel 工作表时 它将合并单元格 并且 Excel 的排序将无法在第 2 和第 3 页上进行 我不认为有办法从报告的某些页面中删除页眉
  • ReportViewer 控件 - 高度问题

    在我的 asp net 应用程序中 我试图打开一个特定的报告 我将 ReportViewer 控件设置为宽度 100 和高度 100 现在我希望这意味着该报告将占据整个页面 令我惊讶的是 事实并非如此 在 IE7 中 虽然它占据了页面的整个
  • SSRS 显示前 n 个,但 SUM 包含所有值

    我目前在 SSRS 中有一个包含多行的 tablix 但我希望只显示前 5 行 但底部的总列包含表中的行数的值 例子 NameID Sales of Total 1 100 4 70 3 65 2 50 7 35 DO NOT DISPLA

随机推荐

  • 如何配置 Spring 来部分或选择性地覆盖属性?

    我想要一个属性设置 可以在某些环境下覆盖特定属性 例如 我们的 dev 默认 JDBC 属性是 db driverClassName com mysql jdbc Driver db url jdbc mysql localhost 330
  • 我怎样才能只从 firebase 获取密钥?

    我有一个如图所示的数据库结构 我需要显示红色矩形中的日期 我尝试这样做 但它抛出一个错误 并且我在堆栈上找不到相同的问题 我的数据库 reference child doc1 observe value with snapshot in i
  • 左右移动..CSS 非常通用

    我想编写一个通用的CSS动画来左右移动div 触摸容器的边缘 以一种简单的方式应用于我除了具有绝对定位之外一无所知的任何div 问题是 简单地将 left 设置为 0 然后设置为 100 一会儿就会消失 我应该使用诸如 calc 100 w
  • 如何启用 HTTPS 流包装器

    我在 Windows 系统上安装了 php5 并尝试使用命令行控制台执行以下脚本
  • Xmlhttprequest 在phonegap/android 应用程序上返回 401

    我想通过我的 PhoneGap android 应用程序使用 xmlhttprequest 访问服务网络 但下面的代码返回 状态为 401 var request new XMLHttpRequest request open GET ht
  • iOS设备的唯一标识

    我使用 Mac 地址来唯一标识 iOS 设备 但从 iOS7 开始 系统始终返回 02 00 00 00 00 00 值 我为上述问题搜索了三个选项 供应商识别 广告识别 使用IOUnit框架获取序列号 由于 UnityFramework
  • qt-通过线程更新 ui

    您好 我在通过线程更新 ui 时遇到问题 代码工作正常 但问题是当我想移动我的窗口时 正如你所知 在那一刻 ui 线程将停止更新 我的线程向已停止的线程发送值 导致错误 我不知道如何解决这个问题 这是我的线程代码标题 ifndef READ
  • 验证数字范围内的扫描仪输入

    我目前正在创建我的第一个游戏 该游戏在控制台中执行 我被要求验证一个输入 这可以通过简单的代码来完成 目标是输入 然后验证该数字是否为整数 并且在 1 4 范围内 如果可能的话 应该用基本算法来解决问题 问题是它不会给我我想要的结果 当我输
  • PHP MySQL 加载数据 INFILE 帮助

    我似乎无法正确回答这个问题 基本上 我从表单中获取 csv 并尝试将其加载到数据库中 我从 phpmyadmin 获取了大部分查询 我应该使用临时文件 对吗 这里是
  • javascript regexp - 用四舍五入的数字替换字符串中的所有浮点数

    有点基本的 javascript regexp 但我现在无法将其组合在一起 我有一个带有浮点数的字符串 m 135 969098800748 207 1229911216347 c 0 7762491582645 0 23419873268
  • JavaScript 和 PHP 中的 Web 服务之间的安全通信

    我想为其创建一个 Web 服务 带有 post get delete REST 和 2 个客户端 第一个客户端将使用 JavaScript 并且需要与 Web 服务进行通信 第二个客户端是桌面应用程序 我正在互联网上搜索一种确保通信安全的解
  • 为什么不能通过参数切换函数生成器的行为?

    考虑这两个函数 def foo x 0 while True yield x x 1 def wrap foo limit 10 gen True fg foo count 0 if gen while count lt limit yie
  • VBA 与 XSLT 可以在同一行中漂亮地打印带有结束标记的 XML

  • Ruby:计算2次之间的时间差

    我想计算2次之间的差异 start time 22 00 Rails 将此解释为 2015 12 31 22 00 00 0100 Second time 02 00 Rails 将此解释为 2015 12 31 02 00 00 0100
  • VBS 在后台访问 URL

    我想让我的 VB 脚本在后台访问一个 URL 它可以在后台打开浏览器并随后将其关闭 越 沉默 越好 我有两个实现可以在我的机器上工作 但在另一台机器上不起作用 Set WshShell WScript CreateObject WScrip
  • 为具有“DataType.Upload”属性的属性生成文件上传输入?

    我有以下视图模型 public class MyViewModel DataType DataType Upload public HttpPostedFileBase ImageUpload get set public int Venu
  • 是否可以使用 Rails 3 更改 MongoDB 中的默认时区?

    我遇到这样的麻烦 当我创建对象并设置一些日期时间时 它正在 UTC 时区中保存数据库 这是示例 showing full list of object properties Grant id 5108ee29e6b564611400000
  • 使用 Jmeter 随机选择产品

    我必须使用 Jmeter 对电子商务 Web 应用程序进行性能测试 一个流程就像Search gt select any product gt Add to Cart 在这里 我必须从搜索结果中选择任何随机产品并继续 您能指导我如何选择任意
  • 将工作日添加到新日期[重复]

    这个问题在这里已经有答案了 我想添加 1 个工作日后的新日期 例如 如果用户选择任何星期五 则应在第二个字段中显示星期一的日期 下面是代码 JQUERY function one datepicker onSelect function d
  • SSRS 报表查看器 - 报表图表无法在 IE11 中显示

    我有一个报告查看器控件 显示仪表板麦粒肿报告 它有一些图表可以提供概述 但是在 IE11 中查看时 该报告根本不呈现 只是显示为空白 底层存储过程也正在运行 我做了一些测试 图表显示在 Firefox 中 当前 图表显示在 Chrome 中