linux-packaging-mono/external/referencesource/System.Web/UI/HiddenFieldPageStatePersister.cs
Jo Shields 3c1f479b9d Imported Upstream version 4.0.0~alpha1
Former-commit-id: 806294f5ded97629b74c85c09952f2a74fe182d9
2015-04-07 09:35:12 +01:00

58 lines
2.2 KiB
C#

//------------------------------------------------------------------------------
// <copyright file="HiddenFieldPersister.cs" company="Microsoft">
// Copyright (c) Microsoft Corporation. All rights reserved.
// </copyright>
//------------------------------------------------------------------------------
namespace System.Web.UI {
using System;
using System.Collections;
using System.Collections.Specialized;
using System.IO;
using System.Text;
using System.Security.Permissions;
using System.Web.Security.Cryptography;
public class HiddenFieldPageStatePersister : PageStatePersister {
public HiddenFieldPageStatePersister(Page page) : base (page) {
}
public override void Load() {
NameValueCollection requestValueCollection = Page.RequestValueCollection;
if (requestValueCollection == null) {
return;
}
string viewStateString = null;
try {
viewStateString = Page.RequestViewStateString;
// VSWhidbey 160556
if (!String.IsNullOrEmpty(viewStateString) || !String.IsNullOrEmpty(Page.ViewStateUserKey)) {
Pair combinedState = (Pair)Util.DeserializeWithAssert(StateFormatter2, viewStateString, Purpose.WebForms_HiddenFieldPageStatePersister_ClientState);
ViewState = combinedState.First;
ControlState = combinedState.Second;
}
}
catch (Exception e) {
// throw if this is a wrapped ViewStateException -- mac validation failed
if (e.InnerException is ViewStateException) {
throw;
}
ViewStateException.ThrowViewStateError(e, viewStateString);
}
}
/// <devdoc>
/// To be supplied.
/// </devdoc>
public override void Save() {
if (ViewState != null || ControlState != null) {
Page.ClientState = Util.SerializeWithAssert(StateFormatter2, new Pair(ViewState, ControlState), Purpose.WebForms_HiddenFieldPageStatePersister_ClientState);
}
}
}
}