【发布时间】:2011-05-14 05:28:24
【问题描述】:
确保 ASP.NET MVC 操作不被调用两次(即,如果用户快速连续单击按钮两次)的最佳方法是什么?在我们的大多数屏幕上,如果发生这种情况并没有什么大不了的……但在少数情况下,它会造成严重破坏(例如多次付款而不是一次付款)。
【问题讨论】:
标签: asp.net asp.net-mvc
确保 ASP.NET MVC 操作不被调用两次(即,如果用户快速连续单击按钮两次)的最佳方法是什么?在我们的大多数屏幕上,如果发生这种情况并没有什么大不了的……但在少数情况下,它会造成严重破坏(例如多次付款而不是一次付款)。
【问题讨论】:
标签: asp.net asp.net-mvc
您可以使用 javascript 禁用提交按钮。以 jQuery 为例:
$(function() {
$('form').submit(function() {
$(':submit, :image', this).attr('disabled', 'disabled');
});
});
【讨论】:
最近有一个关于这个的帖子(实际上是达林)。
按照他提到的做法和实施Post-Redirect-Get 策略相结合,可以弥补大多数漏洞。
【讨论】: