让我先说我很新的C# 目前我必须在一个名为Stimulsoft跨越
报表工具创建报表的工作,我写了下面的类
public class HReports
{
private Stimulsoft.Report.Web.StiWebDesigner designer = new Stimulsoft.Report.Web.StiWebDesigner(); //the designer
private Stimulsoft.Report.StiReport report = new Stimulsoft.Report.StiReport(); //report
//other fields
public HReports(// params)
{
this.designer.PreInit += new Stimulsoft.Report.Web.StiWebDesigner.StiPreInitEventHandler(designer_PreInit); //registers the preinit event
}
private void attachData()
{
//load data from the database and add it to the report
}
public void showReport()
{
attachData();
System.Web.UI.Page page = HttpContext.Current.Handler as System.Web.UI.Page;
page.Controls.Add(designer); //add Stiwebdesigner to the page
designer.Design(report); //opens a new page with the designer
}
protected void designer_GetPreviewDataSet(object sender, Stimulsoft.Report.Web.StiWebDesigner.StiPreviewDataSetEventArgs e)
{
e.PreviewDataSet = ds; // event that sets the preview dataset
}
protected void designer_PreInit(object sender, Stimulsoft.Report.Web.StiWebDesigner.StiPreInitEventArgs e)
{
this.designer.GetPreviewDataSet += new Stimulsoft.Report.Web.StiWebDesigner.StiPreviewDataSetEventHandler(designer_GetPreviewDataSet); // register the getpreview dataset
}
}
我的问题是,当“designer.Design(report)”被称为stiwebdesigner打开一个新的页面与设计师重新加载页面,并显示一个空白页面,因为(我假设,因为该对象是在原始页面上创建的,并且对象会丢失在加载页面期间)
如何使对象在新加载的页面上可用? 我读过一些关于系列化,可能有一些用它做ASP页面的视图状态,但我必须知道从哪里提前启动
感谢