コード例 #1
0
        public virtual void SavePersonalizationState(PersonalizationState state)
        {
            string str;
            string str2;

            if (state == null)
            {
                throw new ArgumentNullException("state");
            }
            BlobPersonalizationState state2 = state as BlobPersonalizationState;

            if (state2 == null)
            {
                throw new ArgumentException(System.Web.SR.GetString("PersonalizationProvider_WrongType"), "state");
            }
            WebPartManager webPartManager = state2.WebPartManager;

            this.GetParameters(webPartManager, out str, out str2);
            byte[] dataBlob = null;
            bool   isEmpty  = state2.IsEmpty;

            if (!isEmpty)
            {
                dataBlob = state2.SaveDataBlob();
                isEmpty  = (dataBlob == null) || (dataBlob.Length == 0);
            }
            if (isEmpty)
            {
                this.ResetPersonalizationBlob(webPartManager, str, str2);
            }
            else
            {
                this.SavePersonalizationBlob(webPartManager, str, str2, dataBlob);
            }
        }
コード例 #2
0
        /// <devdoc>
        /// Allows the provider to save personalization data. The specified information
        /// contains a reference to the WebPartManager, which is used to access the
        /// current Page, and its path and user information.
        /// </devdoc>
        public virtual void SavePersonalizationState(PersonalizationState state)
        {
            if (state == null)
            {
                throw new ArgumentNullException("state");
            }

            BlobPersonalizationState blobState = state as BlobPersonalizationState;

            if (blobState == null)
            {
                throw new ArgumentException(SR.GetString(SR.PersonalizationProvider_WrongType), "state");
            }

            WebPartManager webPartManager = blobState.WebPartManager;

            string path;
            string userName;

            GetParameters(webPartManager, out path, out userName);

            byte[] dataBlob = null;
            bool   reset    = blobState.IsEmpty;

            if (reset == false)
            {
                dataBlob = blobState.SaveDataBlob();
                reset    = (dataBlob == null) || (dataBlob.Length == 0);
            }

            if (reset)
            {
                ResetPersonalizationBlob(webPartManager, path, userName);
            }
            else
            {
                SavePersonalizationBlob(webPartManager, path, userName, dataBlob);
            }
        }