Ich versuche, den Report Viewer programmatisch innerhalb einer benutzerdefinierten Seite in einem IHttpHandler KontextMicrosoft Reportviewer Web Control Erfordern ein Script
ReportViewer rv = new ReportViewer();
ReportDataSource rds = new ReportDataSource();
rds.Name = "Report";
rv.LocalReport.ReportPath = "Report.rdlc";
rds.Value = SomeReportObject;
rv.LocalReport.DataSources.Add(rds);
rv.LocalReport.Refresh();
ScriptManager scriptHandler = new ScriptManager();
MyPage p = new MyPage();
p.Controls.Add(scriptHandler);
p.Controls.Add(rv);
using (TextWriter myTextWriter = new StringWriter())
{
using (HtmlTextWriter myWriter = new HtmlTextWriter(myTextWriter))
{
p.RenderControl(myWriter);
}
}
Obwohl ich die Scriptmanager auf der Seite hinzugefügt haben platziert zu machen, aber die Laufzeit beschwert sich, dass Der ReportViewer benötigt einen, er löst die folgende Ausnahme aus: p.RenderControl (myWriter) Zeile
Das Report Viewer-Websteuerelement benötigt einen System.Web.UI.ScriptManager im Webformular.
Und das ist die MyPage Klasse
public class MyPage : Page
{
public override void VerifyRenderingInServerForm(Control control)
{
//Empty Method
}
public override bool EnableEventValidation
{
get { return false; }
set { /* Do nothing */}
}
}
Jede Hilfe sehr geschätzt werden würde. Dies geschieht auf .NET 4 und ich verwende ReportViewer 2010.