zoukankan      html  css  js  c++  java
  • asp.net 防止二次提交 以及UseSubmitBehavior属性

    这是一个非常普通的需求。

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

    那么我们应该防止二次点击,就要在用户点第一次之后马上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

  • 相关阅读:
    CodeForces
    CodeForces
    CodeForces
    CodeForces
    CodeForces
    CodeForces
    CodeForces
    CodeForces
    Code froces 831 A. Unimodal Array
    无聊随便敲敲
  • 原文地址:https://www.cnblogs.com/nixjojo/p/2459436.html
Copyright © 2011-2022 走看看