2011-05-13 79 views
4

確保ASP.NET MVC操作不會被調用兩次的最佳方式是什麼(即,如果用戶快速連續兩次單擊按鈕) ?在我們的大部分屏幕上,如果發生這種情況並不是什麼大不了的事情......但是在一些情況下它會造成嚴重破壞(像多次付費而不是一次付費)。防止Web應用程序中的操作被調用兩次(ASP.NET MVC)

回答

7

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

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

謝謝,我會試試這個。 – 2011-05-14 01:48:26

+0

我們基本上做到了,謝謝! – 2011-05-14 08:36:54

6

有一個最近的線程關於此(與達林實際上)。

作爲他提到和實施Post-Redirect-Get策略的組合,涵蓋了大多數漏洞。

+0

我們在大多數頁面上使用P-R-G,這是jquery發佈/提交頁面的問題(因爲這些調用會異步通過)。我會嘗試達林對這些的建議。 – 2011-05-14 01:49:23

相關問題