防止 Web 应用程序中的操作被调用两次 (ASP.NET MVC)
确保 ASP.NET MVC 操作不会被调用两次(即,如果用户快速连续单击按钮两次)的最佳方法是什么?在我们的大多数屏幕上,如果发生这种情况也没什么大不了的……但在少数屏幕上,它会造成严重破坏(比如多次向人们付款而不是一次)。
What is the best way to make sure an ASP.NET MVC action is not called twice (i.e. if the user clicks on a button twice in quick succession)? On most of our screens, it's not a big deal if it happens ... but on a few it causes havoc (like paying people multiple times instead of just once).
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以使用 JavaScript 禁用提交按钮。以 jQuery 为例:
You could disable the submit button using javascript. For example with jQuery:
最近有一个关于这个的话题(实际上是达林)。
按照他提到的方式进行操作并实施 Post-Redirect-Get 策略的组合涵盖大多数洞。
There was a recent thread about this (with Darin actually).
A combination of doing as he mentioned and implementing a Post-Redirect-Get strategy covers most holes.