码迷,mamicode.com
首页 > Web开发 > 详细

asp.net 防止二次提交 以及UseSubmitBehavior属性-转

时间:2018-10-04 19:29:28      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:msdn   gif   在服务器   服务器端   run   BMI   pre   copy   asp.net   

页面上有一个按钮,点击之后提交表单,如果什么都不管的话,用户可以在服务器响应完成之前再次点击,这样就出现了二次提交,后果可大可小。

那么我们应该防止二次点击,就要在用户点第一次之后马上Disable这个按钮。

具体:

按钮代码:

 <asp:Button ID="Button1" runat="server" UseSubmitBehavior="false"  
OnClick="Button1_Click" Text="Button" OnClientClick="DisableButton(this)" />

Javascript:

技术分享图片
 <script>
        function DisableButton(b) {
            b.disabled = true;
            b.value = ‘Submitting‘;
          
        }

      
</script>
技术分享图片

然后在后台代码里的Button1_Click事件里再做你想做的事情。

我们可以注意到这里是用OnClientClick的属性来调用Javascript从而实现Disable按钮的。开始的时候,我没有加入UseSubmitBehavior属性,就变成了点击按钮只执行客户端的代码,服务器端代码就不执行了。为了解决这个问题,加入了UseSubmitBehavior属性,并且要把他的值设为false。

为什么要设为false呢?简单来说,false表示不用客户端方法提交,则从服务器端提交,也就是执行OnClick的事件。反之,如果是true,则从客户端提交,忽略服务器端的事件。具体请看MSDN:http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.button.usesubmitbehavior.aspx

asp.net 防止二次提交 以及UseSubmitBehavior属性-转

标签:msdn   gif   在服务器   服务器端   run   BMI   pre   copy   asp.net   

原文地址:https://www.cnblogs.com/asdyzh/p/9742850.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!