除非在Chrome中转换为PDF,否则SSRS会呈现空白

时间:2013-10-30 19:33:38

标签: reporting-services ssrs-2008

更新:仅在Chrome中失败,这一切都在IE10和FF中运行。

我创建了一份SSRS报告,并将其发布到报告服务器。我有一个单独的Web应用程序,其中包含一个报表查看器,用于查看报表服务器以查看数据。当我将服务器报告转换为PDF时,报告显示正常,但是,这非常慢。我想按原样显示报告,但是当我这样做时,我只看到一个空白页面。这是我的代码。我使用了来自HERE的SsrsReportInfo类。请让我知道我错过了什么。

    private void OpenServerReport()
    {
        //Create SSRS Parameters
        var reportInfo = new SsrsReportInfo("TestReport", "http://localhost/ReportServer", @"/ReportTesting2/MainReport");

        //Initialize ServerReport
        ReportViewer1.ServerReport.ReportPath = reportInfo.ReportPath;
        ReportViewer1.ServerReport.ReportServerUrl = new Uri(reportInfo.ReportServerUrl);

        if (reportInfo.Parameters != null)
        {
            ReportViewer1.ServerReport.SetParameters(reportInfo.Parameters);
        }

        ReportViewer1.ServerReport.Refresh();

        //Automatically display as PDF
        //var bytes = ReportViewer1.ServerReport.Render("PDF");
        //Response.Buffer = true;
        //Response.Clear();
        //Response.ClearContent();
        //Response.ClearHeaders();
        //Response.ContentType = "application/pdf";
        //Response.BinaryWrite(bytes);
        //Response.End();
    }

P.S。这与报表管理器中的功能相同。当我从报表管理器(localhost / reports / myfolder / reportname)中选择报表时,我看到一个空白页面,但我可以单击“保存”按钮并将其保存为PDF并查看实际报表。报表服务器(localhost / ReportServer / myfolder / reportname)确实显示报表数据。

1 个答案:

答案 0 :(得分:1)

除了SSRS是MS的专有产品之外没有任何关系,MS使用不同的IE呈现引擎,而不是Chrome(我更喜欢),Firefox,Opera和Safari等浏览器。你可以做两件事来阻止渲染到不同格式然后呈现的问题:

  1. 只需将“IE Tab”插件安装到Chrome和Firefox以及想要查看报告的所有工作站。我通常只是这样做,在某些需要“Active X”或某些专有MS的网站上,它的效果很好。

  2. 您将需要更改SSRS服务器上的默认CSS设置以获得预期的输出调整。在我看来,对SSRS执行这种跨浏览器支持是一种痛苦,但StackOverflow中的某些人实际上由于某种原因希望这个答案超过数字1而且可以完成。这种方法的问题是你每次都有一个新的布局杀死不同的浏览器必须编写更多的CSS来处理它,而不是伪造一个不同的渲染引擎。

  3. Chrome在某些情况下呈现某些报告时遇到了问题,现在我从未这样做过。我甚至不使用IE浏览器说你必须再使用IE了。只需IE浏览器与Chrome浏览器;)