确保ASP.NET MVC操作未被调用两次的最佳方法是什么(即如果用户快速连续点击两次按钮)?在我们的大多数屏幕上,如果发生这种情况并不是什么大问题......但是在一些屏幕上会造成严重破坏(比如多次付费而不是一次)。
答案 0 :(得分:7)
您可以使用javascript停用提交按钮。例如,使用jQuery:
$(function() {
$('form').submit(function() {
$(':submit, :image', this).attr('disabled', 'disabled');
});
});
答案 1 :(得分:6)
最近有一个关于此的帖子(实际上是Darin)。
他提到并实施Post-Redirect-Get策略的组合涵盖了大多数漏洞。