2017-10-16 67 views
0

我試圖從一個.cshtml文件通過重定向到一個包含ReportViewer控件的.aspx文件的瀏覽器中的報告的服務器加載SSRS報告。WebForms ReportViewer控制錯誤。 「客戶發現響應內容類型爲'',但預計'text/xml'。」

<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' 類是一類imeplementing IReportServerCredentials。

我嘗試使用瀏覽器使用用戶名和密碼連接到指定的域,並在指定的'ReportPath'中查看報告,並驗證我可以成功訪問和查看報告。

然而,當程序運行和點擊這個方法:

ReportViewer1.ServerReport.SetParameter 

這個錯誤發生:

Client found response content type of '', but expected 'text/xml'. 
The request failed with an empty response. 

是什麼原因造成這個問題?

+0

嘗試通過在擴展後添加問號('?')來更改URL,如下所示:'ReportViewer1.ServerReport.ReportServerUrl = new Uri(「http://domain/ReportServer/ReportViewer.aspx?」);'。 –

+0

我試着在ReportPath中添加'?'並刪除'/',這沒有幫助。 – Khaimeng

+0

我不告訴你改變'ReportPath' - 你是否已經建議'ReportServerUrl'?如果存在這樣的設置,也可以嘗試將'ContentType'設置爲'text/xml',因爲報表數據需要XML格式,但接受空或空。 –

回答

0

該錯誤實際上告訴我,ReportServerUrl是錯誤的。在我的情況下,代替

http://domain/ReportServer/ReportViewer.aspx? 

我應該實際使用

http://domain/ReportServer 

錯誤後消失了,因爲它能夠連接到報表。但是,由於.aspx文件存在問題,因此無法顯示。該文件的UI內容未加載到頁面中,導致頁面爲空。

相關問題