/// <summary> /// Returns an object that is used by the Web page to maintain the control and view states. /// </summary> /// <returns> /// An object derived from <see cref="T:System.Web.UI.PageStatePersister"/> that supports creating and extracting the /// combined control and view states for the <see cref="T:System.Web.UI.Page"/>. /// </returns> public override PageStatePersister GetStatePersister() { PageViewStateStorageAttribute psa = Attribute.GetCustomAttribute(this.Page.GetType(), typeof(PageViewStateStorageAttribute), true) as PageViewStateStorageAttribute ?? new PageViewStateStorageAttribute(StateStorageTypes.Default); PageStatePersister psp; switch (psa.StorageType) { case StateStorageTypes.Session: psp = new SessionPageStatePersister(this.Page); break; case StateStorageTypes.InPage: psp = new HiddenFieldPageStatePersister(this.Page); break; //case StateStorageTypes.Default: default: psp = new SessionPageStatePersister(this.Page); break; } return(psp); }
/// <summary> /// Возвращает PageStatePersister в зависимости он настроек ViewState mode в web.config /// </summary> /// <returns></returns> public override PageStatePersister GetStatePersister() { PageStatePersister pageStatePersister; switch (Globals.Settings.ViewState.ViewStateMode) { case ViewStateModes.Default: pageStatePersister = base.GetStatePersister(); break; case ViewStateModes.InPage: pageStatePersister = new HiddenFieldPageStatePersister(Page); break; case ViewStateModes.InSession: pageStatePersister = new SessionPageStatePersister(Page); break; case ViewStateModes.InMsSql: pageStatePersister = new StsSqlPageStatePersister(Page); break; default: throw new ArgumentOutOfRangeException(); } return(pageStatePersister); }