Microsoft ReportViewer Web Control Requiring a ScriptManager
        Posted  
        
            by Maya
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by Maya
        
        
        
        Published on 2010-05-08T20:57:00Z
        Indexed on 
            2010/05/09
            7:38 UTC
        
        
        Read the original article
        Hit count: 1294
        
reportviewer
|.net-4.0
I'm trying to render the report viewer programmatically within a custom Page placed in an IHttpHandler context
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);
            }
        }
Although I have the ScriptManager added to the page but the runtime complains that the ReportViewer needs one, it throws the following exception at p.RenderControl(myWriter) line
The Report Viewer Web Control requires a System.Web.UI.ScriptManager on the web form.
And this is the MyPage Class
public class MyPage : Page
{
    public override void VerifyRenderingInServerForm(Control control)
    {
        //Empty Method
    }
    public override bool EnableEventValidation
    {
        get { return false; }
        set { /* Do nothing */}
    }
}
Any help would be very appreciated. This is done on .NET 4 and I'm using ReportViewer 2010.
Many thanks,
Maya.
© Stack Overflow or respective owner