ASP.NET如何防止页面重复提交

来源:互联网 发布:电脑软件培训 编辑:程序博客网 时间:2024/05/17 01:27

          以前的公司做过一个电话客服录入的系统,有时候服务器不稳定,客服MM点提交半天没反应,她就一直点,结果数据库里存了一溜相同的数据,所以就给提交页面加了个防止重复提交的功能,不过还是不能防止按F5刷新,自己客服用了,没那么多问题,呵呵。。。。。。。。。

                    主要代码如下:

 

        //sb保存的是JavaScript脚本代码,点击提交按钮时执行该脚本
         StringBuilder sb = new StringBuilder();
        //保证验证函数的执行
         sb.Append("if (typeof(Page_ClientValidate) == 'function') { if (Page_ClientValidate() == false) { return false; }};");
        //点击提交按钮后设置Button的disable属性防止用户再次点击,注意这里的this是JavaScript代码
         sb.Append("this.disabled   = true;");
        //用__doPostBack来提交,保证按钮的服务器端click事件执行
         sb.Append(Me.ClientScript.GetPostBackEventReference(this.btnSubmit, ""));
         sb.Append(";");
        //SetUIStyle()是JavaScript函数,点击提交按钮后执行,如可以显示动画效果提示后台处理进度
        //注意SetUIStyle()定义在aspx页面中
         sb.Append("SetUIStyle();");
        //给提交按钮增加OnClick属性
        this.btnSubmit.Attributes.Add("onclick", sb.ToString());//btnSubmit是提交按钮

原创粉丝点击