none
.net 如何防止刷新提交 RRS feed

  • 问题

  • 比如我刚点了按钮,当我刷新页面时,那个按钮点击事件会重复。 http://blog.csdn.net/zhuyi_study/archive/2008/11/15/3304345.aspx 以前在这里看到一个方法,今天试了一下,好像没有用,不知道怎么回事。
    有没有什么办法
    2009年5月28日 8:36

答案

  • 你好,你可以这样试试
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    
    public partial class HTML_CSS_JAVASCRIPT_X200905281642 : System.Web.UI.Page
    {
        private bool IsSubmited
        {
            get 
            {
                if (Session["IsSubmited"] == null)
                    Session["IsSubmited"] = false;
                return (bool)Session["IsSubmited"]; 
            }
            set 
            {
                Session["IsSubmited"] = value; 
            }
        }
    
        protected void Page_Load(object sender, EventArgs e)
        {
            
        }
    
        protected void btnSubmit_Click(object sender, EventArgs e)
        {
            if (!this.IsSubmited)
            {
                Response.Write(System.Guid.NewGuid().ToString());
                this.IsSubmited = true;
            }
        }
    }
    
    


    知识改变命运,奋斗成就人生!
    • 已标记为答案 male110 2009年5月29日 1:34
    2009年5月28日 8:51
    版主

全部回复

  • 你好,你可以这样试试
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    
    public partial class HTML_CSS_JAVASCRIPT_X200905281642 : System.Web.UI.Page
    {
        private bool IsSubmited
        {
            get 
            {
                if (Session["IsSubmited"] == null)
                    Session["IsSubmited"] = false;
                return (bool)Session["IsSubmited"]; 
            }
            set 
            {
                Session["IsSubmited"] = value; 
            }
        }
    
        protected void Page_Load(object sender, EventArgs e)
        {
            
        }
    
        protected void btnSubmit_Click(object sender, EventArgs e)
        {
            if (!this.IsSubmited)
            {
                Response.Write(System.Guid.NewGuid().ToString());
                this.IsSubmited = true;
            }
        }
    }
    
    


    知识改变命运,奋斗成就人生!
    • 已标记为答案 male110 2009年5月29日 1:34
    2009年5月28日 8:51
    版主
  • 操作完毕后使用Response.Redirect()转向即可


    【孟子E章】
    2009年5月28日 10:20
    版主
  • 这个肯定不行, 比如一个添加记录的页面,用户输入有错误,你只是提示了一下,然后,页面就跳转了,刷新后是不会有提交,可这样不好吧。 有没有其它办法? 让他跟本不会重复提交。
    2009年5月28日 12:48
  • javascript 先验证通过了再提交。
    知识改变命运,奋斗成就人生!
    2009年5月28日 13:21
    版主
  • 明白了,谢谢各位的解答
    2009年5月29日 1:34