ReportViewer IE 11

我的3.5框架webforms网站上有一个显示报告的页面。 它使用报告查看器10.0.0.0。 除了IE11之外,每个浏览器的报告都会呈现。 只有以doc类型格式显示信息的报表呈现为html表并存储在.rdl文件中。 param框加载但是当选择并运行报告时,我只是获取加载gif并且它超时。 我已经尝试使用IE11开发工具进行故障排除,并且在打开它时超时,这是一个完美的风暴。 另一点信息我在VS2012本地运行网站,在IE11中它只是在IIS7服务器上呈现。

我已经尝试了一个自定义.browser文件来模拟IE10没有运气。 任何帮助都会受到影响,或者只是知道我不是唯一的帮助 。

更新:我在服务器日志中发现了exception。 HttpHandlerInputException,缺少URL参数:IterationId。

提前致谢。

在评论中列出的url上找到它。 我不敢相信,当微软推出一款他们不会像我们一样测试的新浏览器时,这是多么蹩脚。

void Application_BeginRequest(object sender, EventArgs e) { // Bug fix for MS SSRS Blank.gif 500 server error missing parameter IterationId // http://sofzh.miximages.com/c%23/connect-redirect")) { Context.RewritePath(String.Concat(HttpContext.Current.Request.Url.PathAndQuery, "&IterationId=0")); } } 

@vikingben的答案也是我的答案的基础,但我想提供一个利用IIS重写规则的解决方案,对于我们这些无法轻易更改global.asax cq应用程序的BeginRequest的人来说。 这是我的规则:

               

这是它的作用。 它找到所有url:

  1. 匹配某个正则表达式寻找ReportViewer axd; 并且
  2. 查询字符串包含“ResourceStreamID = Blank.gif”; 并且
  3. 查询字符串不包含“IterationId = 0”。

对于任何匹配,浏览器被重定向(“临时”,但您也可以使用其他状态代码):

  1. 同样的斧头url; 同
  2. 附加“IterationId = 0”; 和
  3. 原始查询strign也会附加。

我也遇到了ReportViewer 10和IE11的问题。

升级到ReportViewer 11(Sql Server 2012)解决了我的问题。

  • 下载并安装MICROSOFT®REPORTVIEWER 2012 RUNTIME: http : //www.microsoft.com/en-us/download/confirmation.aspx?id = 35747

  • 转到GAC文件夹:C:\ Windows \ assembly \ gac_msil

  • 找到刚刚安装的Microsoft.ReportViewer dll。

  • 将Microsoft.ReportViewer.Common.dll和Microsoft.ReportViewer.webForms.dll复制到本地Web文件夹。

  • 在您的解决方案引用中,删除对旧ReportViewer版本的所有旧引用,删除web.config和其他文件中的引用,并从ToolBox中删除控件。

  • 添加新的(common和webforms)dll引用。

  • 将其属性设置为“复制本地”(复制到bin文件夹)。

  • 右键单击Toolbox并添加ReportViewer 11控件(添加Microsoft.ReportViewer.webForms.dll引用)

  • 删除页面上的控件。

  • 这将在Web配置文件和页面文件中添加引用。 在集会中:

       
  • 您还需要在web.config文件中添加2个额外条目:

在配置下,system.web,httphandlers:

  

在配置下,system.webserver,处理程序:

  

注意:这对我有用,无需在Application_BeginRequest方法中添加任何内容。 此外,我尝试使用和不使用兼容性元标记,并且它以两种方式工作。

我遇到过同样的问题。 解决方案是将站点添加到Internet Explorer的兼容性视图站点列表中。 然后页面呈现没有问题。

我有同样的问题,使用IE11 / SQL2012 / WinServer2012。 我是否使用了报表查看器的版本10,11或12没有区别。 我通过将我的vb.net代码调用报告来解决它,如下所示:

 if not IsPostBack then // code to call report goes here end if 

我从跟踪日志中注意到,报告代码有时会不止一次被调用,我记得在报表查看器示例中看到了回传条件,并将其放入。报表加载完美。

转到IE设置然后进行兼容性视图设置,然后在“添加此网站”选项中添加项目网站。