Sto cercando di rendere il visualizzatore di report a livello di codice all'interno di una pagina personalizzata collocato in un contesto IHttpHandlerMicrosoft ReportViewer Web Control richiedono uno ScriptManager
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);
}
}
Anche se ho la ScriptManager aggiunto alla pagina, ma il runtime lamenta che il ReportViewer ne ha bisogno, getta la seguente eccezione alla riga p.RenderControl (myWriter)
Il Web Viewer visualizzatore report richiede un System.Web.UI.ScriptManager nel modulo Web.
E questa è la classe MyPage
public class MyPage : Page
{
public override void VerifyRenderingInServerForm(Control control)
{
//Empty Method
}
public override bool EnableEventValidation
{
get { return false; }
set { /* Do nothing */}
}
}
Qualsiasi aiuto sarebbe molto apprezzato. Questo è fatto su .NET 4 e sto usando ReportViewer 2010.