最近测试员测试出表单保存的时候,列表出现多条数据,经过一查,果然是!测试员采用几种方式测试:1.首先按钮点击速度,页面保存按钮,连续点击2.点击保存按钮后 接着马上跟上回车按钮3.点击保存按钮后 接着马上跟上空格按钮根据测试员这些测试,发现表单会重复提交,请高手们帮帮我,怎么能做到,不重复提交页面!!
最好是公共的方法,因为涉及的页面太多了 

解决方案 »

  1.   

    对ASP.NET的Button,禁用只是一个方面,这个只能保证不可以连续点击的,但是还存在一个重复Postback的问题,要解决第二个问题,要么成功之后就跳转,要么就用加相关代码防止重复提交。
      

  2.   

    点击后 btn disable=true
      

  3.   


    if (!Page.IsPostBack)
    {
    //正常页面加载
    }
      

  4.   

    你可以定义一个布尔型的变量,
    var inAjaxing = false;
    $("#add").click(function () {
            if (inAjaxing) {
                alert("您点击的太快了,上次的请求还没有结束");
                return;
            }
            inAjaxing = true;
            //处理数据   
             //处理成功后设置inAjaxing = false;
            //处理过程中出现异常设置inAjaxing = false;
    });这样应该可以避免重复提交的情况了,你可以参考一下。
      

  5.   

    Page_load里面Response.Cache.SetCacheability(System.Web.HttpCacheability.NoCache);
    Response.Expires = 0; Response.Buffer = true;
    Response.ExpiresAbsolute = DateTime.Now.AddSeconds(-1);
    Response.AddHeader("pragma", "no-cache");
    Response.CacheControl = "no-cache"; 1、提交后网页就过期了,无法通过F5重新提交。
    2、提交成功后,重新respons定位到当前页,页可以防止F5重复提交。