防止重复提交 aspx.net】的更多相关文章

:服务器控制.后台生成一个token,存入session或者其他缓存里面.渲染表单时,给form一个隐藏的token(令牌).用户提交表单时:先判断表单里面的token是否存在,不存在拒绝接受此数据:如果存在token,判断此表单里的token是否和session里的token一致,如果不一致,拒绝处理数据:如果一致,处理表单,并从session里移除此token.那么,当用户成功提交表单后,如果再次提交,会因为session里的token已删除,从而让服务器告诉用户“不要重复提交表单!”. 页…
[摘要] 目前很多网站都要提交页面插入或更新数据库,比如留言本,一个用户提交留言后,如果按F5,就会重新提交一遍留言,导致数据库出现两条一模一样的留言,本文介绍了几种防止页面刷新,导致重复提交数据的方法. [全文] 1.也是最简单和最常用的办法,就是使用转向页面语句,分两种:    a.使用服务器端的 Response.Redirect("YourPage");    b.使用客户端脚本 <script language=javascript>location.href='…
转载 http://www.cnblogs.com/hiteddy/archive/2012/03/29/Prevent_Resubmit_When_Refresh_Reload_In_ASP_NET_Web_Form_MVC.html 什么是刷新/重新载入 IE中的刷新(Refresh),在FF和Chrome中称为重新载入(Reload),与正常进入页面的区别在于以下两点: 1. 缓存控制 如果文件(比如图片)在本地缓存中已经存在,正常进入页面会不访问服务器而直接从本地加载.而对于刷新操作,即…
Web页面中经常碰到这类问题,就是客户端多次点击一个按钮或者链接,导致程序出现不可预知的麻烦. 客户就是上帝,他们也不是有意要给你的系统造成破坏,这么做的原因很大一部分是因为网络慢,点击一个操作之后,系统响应慢,于是点击多次.如果我们遇到这种情况, 也许是一样的操作方法,所以解决问题才是王道. 废话不多说,直接切入正题. 方法一:在客户端制作一个遮罩层. 即用js和css制作一个纯白色或者黑色的遮罩的div,当客户端点击按钮时,弹出这个div并覆盖在当前用户界面之上, 这样遮罩层下面的内容被屏蔽…
 项目中经常遇到刷新后重复的向数据库增加一条相同的记录,造成数据重复,如何规避这些问题呢?下面我们就一起讨论一下在asp.net怎样防止页面刷新或后退引起重复提交数据的问题: 其实asp.net防止刷新是asp.net开发中经常遇到的问题.通常有多种方法来实现:(下面只是个人总结的一些方法)不全,也很希望朋友们能多多补充.谢谢. 1:请求转发(即在数据提交操作后立即转跳到其他页面,防止页面刷新引起回发操作). 2:前端使用脚本禁用表单提交按钮. 3:不保存缓存 Response.Cache.Se…
在Web开发中,必须面对的问题就是表单的重复提交问题(这里仅指F5刷新造成的重复提交),.NET中处理这个问题似乎没有什么好的方法. 在网上搜索得到的解决方法主要有两种,一种是直接让表单按钮失效,从而保证一个用户对于一个表单只能提交一次:另一种方法,是一次提交后把表单清空,在后台逻辑上进行判断,从而区分是否重复提交. 个人感觉,第一种方法,用户体验不好,按钮只能按一次,这种应该是用来防治多次点击提交按钮造成的重复提交的,无法防止刷新造成的二次提交:第二种,两种重复提交都可以防止,但是表单内容就没…
第一种方法:javascript控制.缺点,一般用户使用没问题,但是懂点js的还是可以强行重复提交.而且,后退再提交,你也没啥办法.第二种方法:服务器控制.后台生成一个token,存入session或者其他缓存里面.渲染表单时,给form一个隐藏的token(令牌).用户提交表单时:先判断表单里面的token是否存在,不存在拒绝接受此数据:如果存在token,判断此表单里的token是否和session里的token一致,如果不一致,拒绝处理数据:如果一致,处理表单,并从session里移除此t…
PS:实际使用中发现,第①种方法在火狐浏览中有时候有问题.第2种方法,在各个浏览器中都没问题 近做项目遇到了这样的情况: 公司网络比平常慢了不少,在点击保存按钮提交页面后需等待挺长的一段时间,忍不住手贱点多了几次,当提交完成后发现数据库竟多出了几条相同的数据!也就是说相同的内容提交了多次. 经测试,当网络很顺畅的时,快速连续不断点击提交按钮,也会造成页面重复提交!点击多少次就会提交多少次,也就会录入多少条数据! 当然,若录入的数据中有唯一值的判断处理或者数据表字段有唯一性约束,就不会出现录入重复…
什么是表单重复提交 表单的重复提交: 若刷新表单页面, 再提交表单不算重复提交. 在不刷新表单页面的前提下: 多次点击提交按钮 已经提交成功, 按 "回退" 之后, 再点击 "提交按钮". 在控制器响应页面的形式为转发情况下,若已经提交成功, 然后点击 "刷新(F5)" 重复提交的缺点: 加重了服务器的负担 可能导致错误操作. token(令牌) 用户在访问页面时,我们要生成一个随机的token值 将该值放入到session域中,同时放在表单隐藏…
如下一段代码: 先忽略我没引jquery.js的问题,这是一个案例. 当我们点击提交时,控制台输出两次e,在network里查看,可以看到我们的ajax传输了两次,造成了数据重复提交. 一种解释为button的type为submit,和type='button'不同,submit有自己的默认行为,也就是说当你点击了他之后,他就会进行提交,从而导致重复提交,而type=button需要进行 ajax的跳转才能实现提交功能.所以解决办法,就是将submit换成button. 但是我是jquery创建…