using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.IO; namespace MarkItUp.SingleUserBlog.Web.Code { public class BasePage : Page { private LosFormatter _formatter = new LosFormatter(); HiddenField viewstatefld = new HiddenField(); protected override void OnPreRender(EventArgs e) { base.OnPreRender(e); viewstatefld.ID = "__VIEWSTATE_SEO"; Control ctrl = Page.Form; ctrl.Controls.Add(viewstatefld); } protected override void SavePageStateToPersistenceMedium(object viewState) { StringWriter stream = new StringWriter(); _formatter.Serialize(stream, viewState); viewstatefld.Value = stream.ToString(); } protected override object LoadPageStateFromPersistenceMedium() { string viewstate = Request.Form["ctl00$__VIEWSTATE_SEO"]; if (viewstate != null) { StringReader str = new StringReader(viewstate); return _formatter.Deserialize(str); } return null; } } }