Пример #1
0
        private static IDataStorageService GetDataStorageService(IBindingContainer bindingContainer)
        {
            IDataStorageService      dataStorageService = null;
            IBindingServicesProvider serviceProvider    = bindingContainer as IBindingServicesProvider;

            if (serviceProvider != null)
            {
                dataStorageService = serviceProvider.DataStorageService;
            }
            else
            {
                dataStorageService = new ViewStateStorageService(bindingContainer.GetStateBag());
            }

            return(dataStorageService);
        }
Пример #2
0
        /// <summary>
        /// Create a binder and explicitly specify the StateMode
        /// </summary>
        /// <param name="bindingContainer"></param>
        /// <param name="stateMode"></param>
        /// <returns></returns>
        public static BinderBase CreateBinder(IBindingContainer bindingContainer, StateMode stateMode)
        {
            BinderBase          binder             = null;
            IDataStorageService dataStorageService = GetDataStorageService(bindingContainer);

            if (stateMode == StateMode.Recreate)
            {
                binder = new StatelessBinder(bindingContainer, dataStorageService, new WebformsControlService());
            }
            else
            {
                binder = new ViewStateBinder(bindingContainer, new ViewStateStorageService(bindingContainer.GetStateBag()), new WebformsControlService());
            }

            return(binder);
        }