文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>ASP.NET如何防止页面重复提交 (转载)

ASP.NET如何防止页面重复提交 (转载)

时间:2010-09-01  来源:wenlingy

  // <summary>
    /// 防止重复提交
    /// </summary>
    /// <param name="imaButtons">按键集合</param>
    /// <param name="clientID">页面有JS验证的组件</param>
    public void RepeatSubmitCheckForRC( List<Button> Buttons)
    {
        foreach (Button button in Buttons)
        {
           //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(this.ClientScript.GetPostBackEventReference(button, "")); 
        sb.Append(";");
        //SetUIStyle()是JavaScript函数,点击提交按钮后执行,如可以显示动画效果提示后台处理进度
        //注意SetUIStyle()定义在aspx页面中
        sb.Append("SetUIStyle();");
        //给提交按钮增加OnClick属性
        button.Attributes.Add("onclick", sb.ToString());        }
    }

调用方法的时候

        List<Button> Buttons = new List<Button>();
        Buttons.Add(sumbitButton);
        Buttons.Add(saveButton);
        RepeatSubmitCheckForRC(Buttons);

 

客户端代码

  <script language="javascript" type="text/javascript">
       //点击扣款按钮时,设置控件为Disabled
       function SetUIStyle() {
           var tbxText = document.getElementById("tbxText");
           tbxText.disabled = true;
           var labMessage = document.getElementById("lblMessage");
           labMessage.innerText = "正在提交到服务器...";
       }
    </script>

转载地址:http://cao416451347ming.blog.163.com/blog/static/115455616201041753513152/

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载