как сохранить объекты на страницах - PullRequest
0 голосов
/ 02 мая 2011

позвольте мне начать с того, что я довольно новичок в 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, которые могут иметь к этому какое-то отношение, но мне нужно понять, с чего начать

заранее спасибо

Ответы [ 2 ]

3 голосов
/ 02 мая 2011

Использовать Состояние сеанса переменные ..

Состояние сеанса ASP.NET позволяет сохранять и извлекать значения для пользователя, когда пользователь перемещается по ASP.NET страницам в веб-приложении .

MyType myObject = (MyType)Session["MyObject"];

Session["MyObject"] = myObject;
1 голос
/ 02 мая 2011

Может быть, вы можете использовать Server.Transfer ... но предпочтете использовать ответ Акрама Шахды, используя переменную сеанса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...