Microsoft ReportViewer-Steuerelement Erfordern, die ein ScriptManager -
Ich versuche zu Rendern des Berichts-viewer-programmgesteuert in eine benutzerdefinierte Seite in einem IHttpHandler Kontext
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 den ScriptManager auf der Seite Hinzugefügt, aber die Spielzeit beschwert, dass der ReportViewer braucht, wirft es die folgende Ausnahme an p.RenderControl(myWriter) Linie
Das Berichts-Viewer-Steuerelement erfordert ein System.Web.UI.ScriptManager-Steuerelement auf das web-Formular.
- Und dies ist der 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 wäre sehr geschätzt. Dies erfolgt auf .NET 4 und ich bin mit ReportViewer 2010.
Du musst angemeldet sein, um einen Kommentar abzugeben.
In meinem Fall einfach die Anweisung
in der aspx-Formular den Quelltext-Modus und funktioniert!!
Den Fehler sieht aus wie das Form-Tag fehlt, während Sie das Rendering. Das ScriptManager-Steuerelement erfordert eine Form-Tags mit runat server, um die Aufgabe auszuführen.
Ich würde Ihnen vorschlagen, fügen Sie alle Steuerelemente auf dem Formular-Eigenschaft der Seite. In der Folge, und ScriptManager sollte die erste Kontrolle.
Ich hoffe, das hilft.