2017-10-16 3 views
0

Ich versuche, einen SSRS-Bericht von einem Server, der die Berichte im Browser hostet, aus einer .cshtml-Datei zu laden, indem ich ihn in eine ASPX-Datei umleite, die ein ReportViewer-Steuerelement enthält, wenn auf eine Schaltfläche geklickt wird.WebForms ReportViewer-Steuerungsfehler. "Der Client hat den Inhalt des Antwort-Inhalts von '' gefunden, aber erwartet 'text/xml'."

<rsweb:ReportViewer ID="ReportViewer1" runat="server"></rsweb:ReportViewer> 

Im Backend der ASPX-Datei, habe ich die folgenden:

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(); 

Die 'ReportServerCredentials' Klasse ist eine Klasse imeplementing IReportServerCredentials.

Ich habe versucht, einen Browser zu verwenden, um eine Verbindung mit der angegebenen Domäne mit dem Benutzernamen und dem Kennwort herzustellen und den Bericht im angegebenen 'ReportPath' anzuzeigen und zu überprüfen, dass ich erfolgreich auf den Bericht zugreifen und ihn anzeigen konnte.

jedoch, wenn das Programm läuft und Hits diese Methode:

ReportViewer1.ServerReport.SetParameter 

dieser Fehler auftreten:

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

Was dieses Problem verursacht?

+0

Versuchen Sie, die URL durch Hinzufügen eines Fragezeichens ('?') Nach der Erweiterung wie folgt zu ändern: 'ReportViewer1.ServerReport.ReportServerUrl = new Uri (" http: //domain/ReportServer/ReportViewer.aspx? ");'. –

+0

Ich habe versucht, "?" Hinzuzufügen und '/' in ReportPath zu entfernen, das hilft nicht. – Khaimeng

+0

Ich sage dir nicht, dass du 'ReportPath' ändern sollst - hast du bereits vorgeschlagen 'ReportServerUrl'? Versuchen Sie auch, 'ContentType' auf' text/xml' zu setzen, wenn eine solche Einstellung existiert, da die Berichtsdaten das XML-Format erwarten, aber stattdessen null oder leer erhalten. –

Antwort

0

Der Fehler hat mir tatsächlich gesagt, dass die ReportServerUrl falsch war. In meinem Fall statt

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

soll ich eigentlich

http://domain/ReportServer 

Der Fehler danach verschwunden, weil es in der Lage war, den Bericht zu verbinden. Aufgrund eines Problems mit der ASPX-Datei wird jedoch nichts angezeigt. Der UI-Inhalt der Datei wurde nicht in die Seite geladen, was dazu führte, dass die Seite leer war.

Verwandte Themen