如题?

解决方案 »

  1.   

    /// <summary> 
        /// 已重载。如果可能,从服务端内存中还原视图内容。 
        /// </summary> 
        /// <returns></returns> 
        protected override object LoadPageStateFromPersistenceMedium()
        {
            object state;        if (_state != null)
            {
                state = _state.First;
                //Session["SavePage"] = null;
            }
            else
                state = base.LoadPageStateFromPersistenceMedium();        return state;
        }    /// <summary> 
        /// 已重载。将当前视图内容和请求参数集合保存至服务器内存。 
        /// </summary> 
        /// <param name="state"></param> 
        protected override void SavePageStateToPersistenceMedium(object state)
        {
            base.SavePageStateToPersistenceMedium(state);
            if (_isNeedSavePage && (Request.QueryString["SavePage"] == null || Request.Url == Request.UrlReferrer))
            {
                Session["SavePage"] = new Pair(state, base.DeterminePostBackMode());
            }    }
    /// <summary> 
        /// 已重载。当基类方法返回空值时,尝试从服务端内存中获取先前保存的请求参数集合。 
        /// </summary> 
        /// <returns></returns> 
        protected override System.Collections.Specialized.NameValueCollection DeterminePostBackMode()
        {
            System.Collections.Specialized.NameValueCollection coll = base.DeterminePostBackMode();        if (coll == null)
            {
                if (Request.QueryString["SavePage"] != null)
                {
                    _isLoadPageState = true;
                    _state = Session["SavePage"] as Pair;
                    //_state = this.GetResultData as Pair;
                    if (_state != null)
                        coll = _state.Second as System.Collections.Specialized.NameValueCollection;
                }
                //else
                //    Session["SavePage"] = null;
            }        return coll;
        }