www.pudn.com > Tustena_CRM_OS_3.0.2_Stable.zip > goback.cs
///TUSTENA PUBLIC LICENSE v1.0 ////// Portions Copyright (c) 2003-2005 Digita S.r.l. All Rights Reserved. /// /// Tustena CRM is a trademark of: /// Digita S.r.l. /// Viale Enrico Fermi 14/z /// 31011 Asolo (Italy) /// Tel. +39-0423-951251 /// Mail. info@digita.it /// /// This file contains Original Code and/or Modifications of Original Code /// as defined in and that are subject to the Tustena Public Source License /// Version 1.0 (the 'License'). You may not use this file except in /// compliance with the License. Please obtain a copy of the License at /// http://www.tustena.com/TPL/ and read it before using this // file. /// /// The Original Code and all software distributed under the License are /// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER /// EXPRESS OR IMPLIED, AND DIGITA S.R.L. HEREBY DISCLAIMS ALL SUCH WARRANTIES, /// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, /// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. /// Please see the License for the specific language governing rights and /// limitations under the License. /// /// YOU MAY NOT REMOVE OR ALTER THIS COPYRIGHT NOTICE! /// using System; using System.Collections; using System.Web; using System.Web.SessionState; namespace Digita.Tustena { public class NewGoBack { private HttpSessionState Session = HttpContext.Current.Session; private GoBackPage[] CurrentBackPage; public NewGoBack() { if (Session["GoBack"] != null) CurrentBackPage = (GoBackPage[]) Session["GoBack"]; else CurrentBackPage = new GoBackPage[5]; } public void AddPage(byte pageid, string url, string[] parsname, object[] parsobj) { if (parsname.Length != parsobj.Length) throw new FormatException("Arrays differs"); Hashtable mypars = new Hashtable(); for (int i = 0; i < parsobj.Length; i++) mypars.Add(parsname[i], parsobj[i]); AddPage(pageid, url, mypars); } public void AddPage(byte pageid, string url, Hashtable pars) { GoBackPage gbp = new GoBackPage(); gbp.pageid = pageid; gbp.url = url; gbp.pars = pars; for (int i = CurrentBackPage.Length; i > 0; --i) CurrentBackPage[i - 1] = CurrentBackPage[i]; CurrentBackPage[5] = gbp; } public object LastPage() { if (CurrentBackPage.Length > 0) return CurrentBackPage[CurrentBackPage.Length]; else return null; } } [Serializable] public class GoBackPage { public byte pageid; public string url; public Hashtable pars; // = new Hashtable(); } }