防止web应用程序中的操作被调用两次(ASP.NET MVC)

防止web应用程序中的操作被调用两次(ASP.NET MVC),asp.net,asp.net-mvc,Asp.net,Asp.net Mvc,确保ASP.NET MVC操作不会被调用两次的最佳方法是什么(即,如果用户连续快速单击按钮两次)?在我们的大多数屏幕上,如果它发生了也没什么大不了的。。。但在某些情况下,它会造成严重破坏(比如多次付款而不是一次付款)。您可以使用javascript禁用提交按钮。例如jQuery: $(function() { $('form').submit(function() { $(':submit, :image', this).attr('disabled', 'disable

确保ASP.NET MVC操作不会被调用两次的最佳方法是什么(即,如果用户连续快速单击按钮两次)?在我们的大多数屏幕上,如果它发生了也没什么大不了的。。。但在某些情况下,它会造成严重破坏(比如多次付款而不是一次付款)。

您可以使用javascript禁用提交按钮。例如jQuery:

$(function() {
    $('form').submit(function() {
        $(':submit, :image', this).attr('disabled', 'disabled');
    });
});

最近有一条关于这件事的线索(实际上是达林)


正如他所说的那样做和实现一个策略的组合覆盖了大部分漏洞。

我们在大多数页面上使用p-R-G,问题在于jquery post/submit页面(因为调用将异步进行)。我会试试达林的建议。