イントラネットASP.NETアプリケーションがありますが、応答が遅い場合があります。私の要件は、二重送信を防ぎ、理想的には、フォームがすでに送信されているというフィードバックをユーザーに提供することです。
私が見つけた例は、送信ボタンを無効にする方法を示していますが、私のアプリでは送信が発生する可能性があるため、それだけでは不十分です。
- 送信ボタンから。
- AutoPostBack = true(javascript AFAIKを使用して送信)の任意のコントロールから。
- UpdatePanel内の上記のいずれかから-この場合、私が理解しているように、POSTはAJAXを使用して実行され、AJAX呼び出しが完了したときに再度有効にする必要があります。
オーバーレイ/モーダルポップアップを表示するようなものを考えています。おそらく、送信中に表示されるアニメーションの進行状況画像を使用します。また、UpdatePanelの場合、AJAX呼び出しが完了すると非表示になります。
上記のようにASP.NETページに簡単に統合できるサンプルを持っている人はいますか?または、オーバーレイを表示/非表示にするためにフックする必要があるイベントを示します。
アップデート
@Aristosの答えは、私をそこまでの道のりのほとんどに導いてくれました。重要な部分は、PageRequestManager.endRequestを処理して、AJAX呼び出しが完了したときに進行状況ダイアログを非表示にすることです。
それでも問題が発生するケースが1つあります。送信ボタンでファイルがダウンロードされた場合、進行状況ダイアログを非表示にするために使用できるイベントがありません。 この質問には、トリックを行う可能性のある答えがあります。試してみます。