私は(MVC3で)eコマースWebアプリケーションを作成していますが、現在テスト中です。私の問題は次のとおりです。誰かが送信ボタンを何度もクリックするたびに、同じ数のリクエストを作成し、何度もデータベースに保存します。したがって、これらの複数の送信を防ぐために、クライアント側とサーバー側のコードをいくつか実装しています。クライアント側は、誰かが次のような送信ボタンをクリックするたびに画面をブロックすることで構成されています。
$(document).ready(function () {
$('input[type=submit]').click(function () {
blockScreen();
});
$.unblockUI();
}
function blockScreen() {
$.blockUI({ message: '<h1><img src="../images/processing.gif" /></h1>'
});
私が blockUI で抱えている問題は、誰かが送信をクリックしたときに ModelState エラー (入力されていない必須フィールドなど) がある場合、画面がブロックされ、リロードするかブラウザーのコンソールを使用しない限りブロックを解除できないことです。
サーバー側の検証なのでレプリケーションはありません。後で行うので、この質問で考慮する必要はありません...