मैं एक रिपोर्ट IHttpHandler संदर्भमाइक्रोसॉफ्ट रिपोर्ट व्यूअर वेब कंट्रोल स्क्रिप्ट मैनेजर की आवश्यकता है
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);
}
}
में रखे गए कस्टम पेज के भीतर प्रोग्राम व्यूअर को प्रोग्रामेटिक रूप से प्रस्तुत करने का प्रयास कर रहा हूं, हालांकि मेरे पास स्क्रिप्ट मैनेजर पृष्ठ पर जोड़ा गया है लेकिन रनटाइम शिकायत करता है कि ReportViewer को एक की आवश्यकता है, यह निम्न को फेंकता है पी। रेंडरकंट्रोल (myWriter) लाइन पर अपवाद
रिपोर्ट व्यूअर वेब कंट्रोल को वेब फॉर्म पर System.Web.UI.ScriptManager की आवश्यकता होती है।
और यह मायपेज क्लास
public class MyPage : Page
{
public override void VerifyRenderingInServerForm(Control control)
{
//Empty Method
}
public override bool EnableEventValidation
{
get { return false; }
set { /* Do nothing */}
}
}
है किसी भी मदद की बहुत सराहना की जाएगी। यह .NET 4 पर किया गया है और मैं ReportViewer 2010 का उपयोग कर रहा हूं।