示例#1
0
        public static ViewState newViewStateFromXMLString(String viewStateXML)
        {
            ViewState viewState        = null;
            int       viewStateVersion = 0;
            String    versionPattern   = @"<Version>(.+)</Version>";
            Match     match            = Regex.Match(viewStateXML, versionPattern, RegexOptions.Singleline);

            if (match.Success)
            {
                viewStateVersion = Int32.Parse(match.Groups[1].Value);
            }
            // if this is viewstate version 1 we need to patch a few things up
            if (viewStateVersion == 1)
            {
                String viewStatePattern = @"<ViewStateDeserialized>(.+)</ViewStateDeserialized>";
                match = Regex.Match(viewStateXML, viewStatePattern, RegexOptions.Singleline);
                if (match.Success)
                {
                    viewStateXML = viewStateXML.Replace(match.Groups[1].Value, HttpUtility.HtmlEncode(match.Groups[1].Value));
                }
                // horrible horrible hack to account for RichTextBox removing CRLF with a LF...anyone have a better idea???
                viewStateXML = viewStateXML.Replace("\n", "\r\n");
            }

            XmlDocument  dom    = new XmlDocument();
            StringReader reader = new StringReader(viewStateXML);

            dom.Load(reader);
            switch (viewStateVersion)
            {
            case 1:
                viewState = new ViewState_Dot_Net_1_0(dom);
                break;

            case 2:
                viewState = new ViewState_Dot_Net_2_0(dom);
                break;

            default:
                viewState = null;
                break;
            }
            return(viewState);
        }
示例#2
0
        public static ViewState newViewStateFromBase64String(String viewStateString)
        {
            ViewState viewState        = null;
            int       viewStateVersion = getViewStateVersionFromBase64String(viewStateString);

            switch (viewStateVersion)
            {
            case 1:
                viewState = new ViewState_Dot_Net_1_0(viewStateString);
                break;

            case 2:
                viewState = new ViewState_Dot_Net_2_0(viewStateString);
                break;

            default:
                viewState = null;
                break;
            }
            return(viewState);
        }
示例#3
0
        public static ViewState newViewStateFromXMLString(String viewStateXML)
        {
            ViewState viewState = null;
            int viewStateVersion = 0;
            String versionPattern = @"<Version>(.+)</Version>";
            Match match = Regex.Match(viewStateXML, versionPattern, RegexOptions.Singleline);
            if (match.Success)
            {
                viewStateVersion = Int32.Parse(match.Groups[1].Value);
            }
            // if this is viewstate version 1 we need to patch a few things up
            if (viewStateVersion == 1)
            {
                String viewStatePattern = @"<ViewStateDeserialized>(.+)</ViewStateDeserialized>";
                match = Regex.Match(viewStateXML, viewStatePattern, RegexOptions.Singleline);
                if (match.Success)
                {
                    viewStateXML = viewStateXML.Replace(match.Groups[1].Value, HttpUtility.HtmlEncode(match.Groups[1].Value));
                }
                // horrible horrible hack to account for RichTextBox removing CRLF with a LF...anyone have a better idea???
                viewStateXML = viewStateXML.Replace("\n", "\r\n");

            }

            XmlDocument dom = new XmlDocument();
            StringReader reader = new StringReader(viewStateXML);
            dom.Load(reader);
            switch (viewStateVersion)
            {
                case 1:
                    viewState = new ViewState_Dot_Net_1_0(dom);
                    break;
                case 2:
                    viewState = new ViewState_Dot_Net_2_0(dom);
                    break;
                default:
                    viewState = null;
                    break;

            }
            return viewState;
        }
示例#4
0
        public static ViewState newViewStateFromBase64String(String viewStateString)
        {
            ViewState viewState = null;
            int viewStateVersion = getViewStateVersionFromBase64String(viewStateString);
            switch (viewStateVersion)
            {
                case 1:
                    viewState = new ViewState_Dot_Net_1_0(viewStateString);
                    break;
                case 2:
                    viewState = new ViewState_Dot_Net_2_0(viewStateString);
                    break;
                default:
                    viewState = null;
                    break;

            }
            return viewState;
        }