我正在尝试通过将.cshtml文件中的报告从托管报告的服务器加载到SSRS报告,方法是在单击按钮时将其重定向到包含ReportViewer控件的.aspx文件。
<rsweb:ReportViewer ID="ReportViewer1" runat="server"></rsweb:ReportViewer>
在.aspx文件的后端,我添加了以下内容:
ReportViewer1.ProcessingMode = ProcessingMode.Remote;
IReportServerCredentials irsc = new ReportServerCredentials("username", "password", "domain");
ReportViewer1.ServerReport.ReportServerCredentials = irsc;
ReportViewer1.ServerReport.ReportServerUrl = new Uri("http://domain/ReportServer/ReportViewer.aspx");
ReportViewer1.ServerReport.ReportPath = "/Report/path";
ReportViewer1.ServerReport.SetParameters(new ReportParameter[] {
new ReportParameter("param1", "sample1"),
new ReportParameter("param2", "sample2")
});
ReportViewer1.ServerReport.Refresh();
'ReportServerCredentials'类是一个补充IReportServerCredentials的类。
我尝试使用浏览器使用用户名和密码连接到指定的域,并在指定的“ReportPath”中查看报告,并验证我可以成功访问和查看报告。
然而,当程序运行并命中此方法时:
ReportViewer1.ServerReport.SetParameter
发生此错误:
Client found response content type of '', but expected 'text/xml'.
The request failed with an empty response.
导致此问题的原因是什么?
答案 0 :(得分:0)
该错误实际上告诉我ReportServerUrl
错了。就我而言,而不是
http://domain/ReportServer/ReportViewer.aspx?
我应该使用
http://domain/ReportServer
之后错误消失了,因为它能够连接到报告。但是,由于.aspx文件存在问题,所以没有显示任何内容。文件的UI内容未加载到页面中,导致页面为空。