防止刷新重复提交的方法

来源:互联网 发布:stc isp软件下载 编辑:程序博客网 时间:2024/04/30 04:19

      点击按钮时,调用以下方法能防止页面刷新重复提交。


        #region 防止刷新重复提交
        private string ReSubmitToken
        {
            set
            {
                this.Session["ReSubmitToken"] = value;
            }
            get
            {
                if (this.Session["ReSubmitToken"] != null)
                    return this.Session["ReSubmitToken"].ToString();
                else
                    return "0";
            }
        }
        private HiddenField hf;
        /// <summary>
        /// 初始化刷新用到的控件
        /// </summary>
        private void InitControls()
        {
            this.ReSubmitToken = "0";
            EnsureChildControls();
            hf.Value = "0";
        }

        protected override void CreateChildControls()
        {
            hf = new HiddenField();
            this.Form.Controls.Add(hf);

            base.CreateChildControls();
        }

        /// <summary>
        /// 判断是否刷新
        /// </summary>
        public bool IsRefreshed
        {
            get
            {
                EnsureChildControls();

                if (this.ReSubmitToken != hf.Value)
                    return true;

                return false;
            }
        }

        /// <summary>
        /// 设置操作执行中
        /// </summary>
        public void SetExcuting()
        {
            if (this.ReSubmitToken == "0")
                this.ReSubmitToken = "1";
            else
                this.ReSubmitToken = "0";
        }

        /// <summary>
        /// 设置值相等
        /// </summary>
        public void SetReSubmitValue()
        {
            hf.Value = this.ReSubmitToken;
        }
        #endregion

原创粉丝点击