Tablix の 2 つの列ヘッダーで対話型の並べ替えが有効になっている部門番号と部門名を表示する単純なレポートがあります。
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アプリケーションでSSRSレポートのインタラクティブな並べ替えを機能させることについて、誰かが洞察を持っていますか? いいえ、ReportViewer コントロールも使用できません。
前もって感謝します。