如何处理:下载文件的按钮在事件未完成之前防止多次点击,事件完成之后又能继续点击提交

这几天真的非常不容易,搞定了一个很困难的问题。

问题:一个导出文件的按钮,在点击之后且事件未完成之前,不能再点击第二次,就算点击第二次,后台也不能响应两次。但是当这个事件处理完后,又可以再次点击。

由于一般的导出功能在.net 中都是用Response,它是直接将数据输出在客户端页面上了,也就是说此页面不会再重新生成(不继续原来的生命周期),导致点击的事件完成之后,按钮的样式和事件有些就无法回到最初的状态,这是个非常严重的问题。有的时候是点击的事件完成过程中虽防止多次点击提交,但是完成后,却无法再点击按钮;有的时候按钮完成事件能多次点击,可是却无法防止多次提交。

最后还是选择在点击按钮之后加一个层来达到防止多次提交的目的。

页面代码:其中Button1是实现该效果的

注:曾经选择用BlockUI.js来实现(被注释掉的),发现其是在弹出下载文件的窗口之后才起反应,这就无法防止多次提交的目的,被抛弃了,一个多好的JS插件啊

 

WriteFileHandler.ashx:

 

页面的后台代码:(我测试的是Button1这个按钮,其他的按钮我就没测了)

 

这个层的设计好的地方就是不仅能禁止用户点击,而且还能再反应完后点关闭回到原来的页面状态

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值