/// <summary> /// Метод загружающий ViewState из базы данных и размещающий его на странице. /// </summary> public override void Load() { // Load Whatever is there in the __VIEWSTATE hidden variables. base.Load(); // Если включен постринченый режим применения проверяем помечена страница или нет try { if (_viewStateElement.ApplayByCustomPageOnly && !(Page is IStsStatePersistedPage)) { return; } string currentViewState = ViewState.ToString(); // Проверяем что ViewState это GUID, для этого достаточно проверить, // что количество знаков равно 36 if (currentViewState.Length == 36) { StsViewState vs = null; if (_viewStateElement.UseCacheForSqlMode) { //string cacheKey = VIEWSTATE_CACHEKEY_PREFIX + base.ViewState; //try { vs = GetFromCache(cacheKey); } //catch { } throw new NotImplementedException("Механизм кэширования PageState еще не реализован."); } if (vs == null) { vs = LoadFromSql(currentViewState); } if (_viewStateElement.UseCompression) { throw new NotImplementedException("Механизм сжатия PageState еще не реализован."); } Deserialize(vs.Data); } } catch (Exception e) { if (!Globals.Settings.ExceptionHandling.SendExceptionEmails) { throw; } QDSearch.Helpers.ExceptionHandling.SendErrorMessage( new ApplicationException( "Ошибка загрузки состояния страницы, пользователь перенаправлен на начальную страницу.", e)); //QDSearch.Helpers.Web.ShowMessageWithRedirect(Page, @"К сожалению, страница устарела. Для продолжения работы страница будет перезагружена.", Page.ResolveClientUrl(@"~/")); Page.Response.Redirect(Page.ResolveClientUrl(@"~/"), true); } }
/// <summary> /// 加载ViewState。如果ViewState的尺寸小于配置信息中的值(缺省为10K),从隐藏域中加载,否则从数据库中加载 /// </summary> public override void Load() { string data = this.Page.Request.Form["__VIEWSTATE"]; if (string.IsNullOrEmpty(data) == false) { #region 注释掉原有的逻辑 //Pair statePair = (Pair)StateFormatter.Deserialize(data); //ControlState = statePair.Second; //ViewState = statePair.First; #endregion long id; if (long.TryParse(ViewState.ToString(), out id)) { string stateStr = LoadStateFromDB(id); ViewState = StateFormatter.Deserialize(stateStr); } } }
private void BtnSubmit_Click(object sender, EventArgs e) { try { bool isValid = true; SaveCorpus(ref isValid); if (isValid) { ClearControls(); if (ViewState.ToString() != "0")//如果是编辑,则返回到查询 { divEditCorpora.Visible = false; divEditCorporaAc.Visible = false; divList.Visible = true; ReQuery(); } } } catch (Exception ex) { lbErr.Text = ex.ToString(); } }
private string GetResultTextBoxText(ViewState viewState) { switch (viewState) { case ViewState.None: return(string.Empty); case ViewState.Encode: return(isBytesView ? GetHEXString(encodedBytes) : encodedText); #if NOISE_DECODE_ENABLE case ViewState.Noise: return(isBytesView ? GetHEXString(noisedBytes) : noisedText); case ViewState.Decode: return(isBytesView ? GetHEXString(decodedBytes) : decodedText); #endif default: throw new InvalidEnumArgumentException(string.Format("Unhandled argument: {0}", viewState.ToString())); } }