• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >ASP.NET > Asp.net中阻止页面按钮多次提交的解决办法

Asp.net中阻止页面按钮多次提交的解决办法

作者:邪心魔佛一页书 字体:[增加 减小] 来源:互联网 时间:2017-05-11

邪心魔佛一页书通过本文主要向大家介绍了页面跳转 asp.net,阐述asp.net页面模型,asp.net,asp net培训,asp和asp.net的区别等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

问题背景:

手头上的KPI分类评级考核系统,页面的提交按钮是用LinkButton或者Button做的。当大量用户同时在线访问该站点时,应用程序服务器出现CPU占用100%的糟糕状况,页面会卡住不动,用户不明情况连续点击提交按钮重复提交,造成数据库中出现大量的重复数据。

其实,即便服务器没有崩掉,快速频繁点击提交按钮,也会出现重复提交的问题。

尝试过:1)在提交按钮的点击事件里设置提交按钮的Enabled属性 Enabled = false; ,这个属性设置在未拿到新页面前是无效的,问题依然存在;

    2)在客户端事件里js设置提交按钮的disabled disabled = true; ,此时提交按钮的服务端事件将不再执行;

    3)也试过点击提交按钮后马上弹出div遮罩层,效果也不理想,问题依然存在;

    4)加个HTML按钮,并将提交按钮隐藏,点击HTML按钮提交,在HTML按钮的客户端事件里使HTML按钮不可用(阻止重复提交),再触发提交按钮的服务器事件,页面回发后HTML按钮自动变得可用。此法可行,如有不足或有更好的方法,还望大家不吝赐教。

解决思路:

1)除了提交按钮LinkButton(ID为lbtSave)外,添加一个HTML按钮

<input type="button" id="htmlSave" value="提交" onclick="SingleSubmit()" />
</div>

2)隐藏lbtSave,注意不能通过设置lbtSave的Visible属性为False来实现隐藏,否则lbtSave的服务器事件lbtSave_Click将不能触发;可行办法:用 <div style="display:none;"></div> 包含lbtSave来实现隐藏或者直接用 #lbtSave{display:none;} 来实现隐藏

3)<head></head>标签中新增js代码,如下:

 <script type="text/javascript">
   function SingleSubmit()
   {
     document.getElementById("htmlSave").disabled = true;
     document.getElementById("lbtSave").click();
   }
 </script>
</div>

4)点击htmlSave,执行SingleSubmit()方法,使htmlSave不可用(阻止重复提交),触发lbtSave_Click事件

5)页面回发后,也就是lbtSave_Click事件执行完后,htmlSave自动变得可用。

为了模拟真实情景,在lbtSave_Click事件中增加5s的线程休眠 Thread.Sleep(5000); 。

以上所述是小编给大家介绍的Asp.net中阻止页面按钮多次提交的解决办法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • ASP.NET使用ajax实现分页局部刷新页面功能
  • ASP.NET实现个人信息注册页面并跳转显示
  • Asp.net中阻止页面按钮多次提交的解决办法
  • 在ASP.NET Core中显示自定义的错误页面
  • ASP.NET实现个人信息注册页面并跳转显示
  • ASP.NET页面缓存常见的4种方式
  • Asp.net页面中调用soapheader进行验证的操作步骤
  • ASP.NET中防止页面刷新造成表单重复提交执行两次操作
  • asp.net采集页面上所有图像图片资源的具体方法
  • 详解ASP.NET页面生命周期

相关文章

  • 2018-08-20MVC、MVP和MVVM分别是什么_动力节点Java学院整理
  • 2017-05-11.net等比缩放生成缩略图的方法
  • 2017-05-11asp.net 身份验证机制实例代码
  • 2017-05-11Asp.Net修改上传文件大小限制方法
  • 2017-05-11NopCommerce架构分析之(三)EntityFramework数据库初试化及数据操作
  • 2017-05-11常用JavaScript代码提示公共类封装
  • 2017-05-11asp.net在事件中启动线程来打开一个页面的实现方法
  • 2017-05-11asp.net 模拟提交有文件上传的表单(通过http模拟上传文件)
  • 2017-05-11ASP.NET MVC3手把手教你构建Web
  • 2017-05-11ASP.NET Eval 求值运算的一些用法

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 随机图片生成器制作方法分享
    • asp.net中Post表单保存页面状态并输出源码的实现方法
    • Bin 和 App_Code 文件夹介绍
    • SQL Server 2005安装过程中出现错误的解决办法
    • CheckBox控件默认选中,提交时永远获得选中状态的实现代码
    • ASP.NET MVC中设置跨域访问问题
    • asp.net操作ini文件示例
    • Asp.NET 生成静态页面并分页的代码
    • asp.net 使用Response.Filter 过滤非法词汇
    • ASP.NET与MySQL数据库简明图示入门教程

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有