zoukankan      html  css  js  c++  java
  • .NET ---------- 解决防止点击多次,使数据重复提交

    解决防止多次点击,使数据重复提交,也就是防止二次提交

         由于趁网络不注意,多点了几次,发生了不可描述的事情,可以在 aps.net 的   Button 中添加以下两个属性

    UseSubmitBehavior="false" OnClientClick="this.disabled=true;"

    使用 OnClientClick 的原因是用OnClientClick的属性来调用Javascript从而实现Disable按钮,加入UseSubmitBehavior属性防止点击按钮只执行客户端的代码,服务器端代码就不执行了,值有false和 true,false表示不用客户端方法提交,则从服务器端提交,也就是执行OnClick的事件。反之,如果是true,则从客户端提交,忽略服务器端的事件。

    UseSubmitBehavior属性可以指定Button控件是使用客户端浏览器的提交机制还是ASP.NET回发机制。默认情况下,此属性的值为true,导致Button控件使用浏览器的提交机制。如果指定false,则ASP.NET页面框架会将客户端脚本添加到页面,以将表单发布到服务器。当UseSubmitBehavior属性为时false,控件开发人员可以使用GetPostBackEventReference方法返回Button的客户端回发事件。GetPostBackEventReference方法返回的字符串包含客户端函数调用的文本,可以将其插入客户端事件处理程序中。

    OnClientClick 和 OnClick  区别:

      OnClientClick是客户端事件处理方法,一般采用JavaScript进行处理,可以直接在浏览器中运行,不跟后台发生交互。
      OnClick是服务器端事件处理方法,在服务器端,也就是IIS中运行。执行顺序为:点击按钮->页面回传(PostBack)->执行Click事件绑定的方法

    在 .NET 的 button中添加上述两个属性

    <asp:Button ID="btnAddUpt" runat="server" Text="保存" CssClass="ttbtn" onclick="btnAddUpt_Click" UseSubmitBehavior="false" OnClientClick="this.disabled=true;" style="80px; display:none;" />

    官方文档:

    https://docs.microsoft.com/en-us/dotnet/api/system.web.ui.webcontrols.button.usesubmitbehavior?redirectedfrom=MSDN&view=netframework-4.8#System_Web_UI_WebControls_Button_UseSubmitBehavior
  • 相关阅读:
    更换惠普G32笔记本的风扇和硬盘,内存条, 谨记 要做好CPU和显卡的 导热硅脂工作!
    怎么更新 WIN10里的SMBv1协议
    ubuntu-12.04.5-desktop-amd64 安装vmwaretools
    如何解决“ VMware Workstation 不可恢复错误: (vcpu-0) vcpu-0:VERIFY vmcore/vmm/main/cpuid.c:386 bugNr=1036521”
    联想移动硬盘无法访问 解决方法1
    阮一峰 ---开发者手册
    Earth Wind 一个查看全球风向的网站
    Linux帮助用法
    Linux历史命令管理以及用法
    Linux操作练习
  • 原文地址:https://www.cnblogs.com/obge/p/12771691.html
Copyright © 2011-2022 走看看