- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ASP.NET ボタン二度押し抑制時の方法について)
ASP.NET ボタン二度押し抑制方法とは?
このQ&Aのポイント
- ASP.NETでボタンの二度押しを抑制する方法について教えてください。
- VisualWebDebeloper2010(VB)を使用してWEBサイトを構築しています。ボタンをクリックすると、処理中はボタンを無効化したいと考えています。いろいろなサイトを参考にして調べていたのですが、その中で疑問が出てきました。
- 最初はJQUERYを使用してボタンをクリックしたらボタンを無効化する方法を試しましたが、ポストバックに反映されない問題がありました。次にUpDataPanelを使用してボタンを無効化する方法を試してみたところ、うまく機能しました。なぜ二つ目の方法だと正常に動作するのかがわかりません。理由を教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
ちゃんと確認したわけじゃないですが、プログラムの字面から。 たんに順番の問題じゃないでしょうか。 最初の方法はボタンを無効化してからサブミットを実行してるので、無効になったボタンの情報がサーバー側にあがっていかない、でいいですよね。 後のほうはinitializeRequestという名称からみて、サブミットの実行によりサーバーへのリクエストをあげようと準備している段階でボタンを無効化している、つまりすでにサーバーにあげるボタンの情報とか準備が終わったあとでボタンの無効化が実行されている、のではないかと思います。 詳しくはPageRequestManagerのドキュメント見ればわかるかな。 って、参照URLみると、beginRequestあたりを使うほうがいいような気がしないでもない。。。
お礼
ご回答ありがとう御座います。 最初の方法に関してはOKです。恐らくそういった理由だと思います。 initializeRequestの方は「非同期ポストバックの処理が開始され、ポストバック要求がサーバーへ送信される前に発生します。」 とありますので、「非同期ポストバックの処理が開始」とやらが、ポストする情報等の準備が出来ており、この段階でボタンを無効にしても、ポストされる。という風に考える事にします。 ふむ、WEB系の開発は難しいですね。 有難う御座いました!