How does IsPostback technically work?

前端 未结 3 495
遥遥无期
遥遥无期 2020-12-01 11:26

I\'m currently having a strange issue whereby all browsers except from Google Chrome are registering a call to IsPostback within a Page_Load event as true when I click an as

3条回答
  •  北海茫月
    2020-12-01 11:50

    The page looks for the existence of a __PREVIOUSPAGE form value.

    From Reflector:

    public bool IsPostBack
    {
        get
        {   //_requestValueCollection = Form or Querystring name/value pairs
            if (this._requestValueCollection == null)
            {
                return false;
            }
    
            //_isCrossPagePostBack = _requestValueCollection["__PREVIOUSPAGE"] != null
            if (this._isCrossPagePostBack)
            {
                return true;
            }
    
            //_pageFlags[8] = this._requestValueCollection["__PREVIOUSPAGE"] == null
            if (this._pageFlags[8])
            {
                return false;
            }
    
            return (   ((this.Context.ServerExecuteDepth <= 0) 
                    || (   (this.Context.Handler != null) 
                        && !(base.GetType() != this.Context.Handler.GetType())))
                    && !this._fPageLayoutChanged);
        }
    }
    

提交回复
热议问题