0

我有一个简单的报告,它显示部门编号和部门名称,并在 tablix 中的这两个列标题上启用了交互式排序。

我通过来自 MVC5 应用程序的 URL 访问来访问此报告。报告正在以标准 html4.0 正确呈现。我可以按预期在我的页面中看到带有标题中的排序图标的报告 html。但是,单击任一列标题,我会收到来自 SSRS 的 rsReportNotReady 错误页面。

如果我自己通过 URL 访问直接浏览到报告,则交互式排序工作得很好,但当作为原始 html 流式传输到 mvc 视图时就不行了。

通过 url 访问将报告呈现为 html 的代码:

    private string GetReportData(string requestUri)
    {
        string reportData = string.Empty;
        HttpWebRequest request = (HttpWebRequest) WebRequest.Create(requestUri);
        request.Credentials = CredentialCache.DefaultNetworkCredentials;
        HttpWebResponse response = (HttpWebResponse) request.GetResponse();
        if (response.StatusCode == HttpStatusCode.OK)
        {
            Stream receiveStream = response.GetResponseStream();
            if (receiveStream != null)
            {
                StreamReader readStream = response.CharacterSet == null
                    ? new StreamReader(receiveStream)
                    : new StreamReader(receiveStream, Encoding.GetEncoding(response.CharacterSet));
                reportData = readStream.ReadToEnd();
                response.Close();
                readStream.Close();
            }
        }
        return reportData;
    }

访问报告的示例 URL http://myreportservername/ReportServer?/EmployeeReports/rptDepartments&rc:Toolbar=False&rc:HTMLFragment=False&rs:Format=HTML4.0

直接呈现部门报告 通过 url 访问报告

在 mvc 应用程序中呈现为 html 流 在 mvc 应用程序中呈现的报告

在 mvc 应用程序中排序错误 通过 mvc 应用程序排序时出错

是否有人对通过 URL 访问在 MVC 应用程序中对 SSRS 报告进行交互式排序有任何见解?不,我也不能使用 ReportViewer 控件。

提前致谢。

4

1 回答 1

0

我不再需要解决这个问题。我们试图做的不是最好的方法,也不是很容易做到的。最终,我们转而使用https://www.amcharts.com/上的 amcharts 来动态构建具有完全交互性的图表。

于 2016-01-25T14:42:57.560 回答