ASP.NET 2.0 Webアプリケーションを使用しています。ユーザーがデータを保存したときに進行状況インジケーターを表示したい(例:プロファイルの編集)。クライアントの副作用のために、アプリケーションでjQueryを既に使用しています。これどうやってするの ?ASP.NETと一緒に使用するjqueryの信頼できるものはありますか?前もって感謝します
2 に答える
アクションが発生している間、実際の進行状況を表示したいですか、それともビジー インジケーターだけを表示したいですか? 前者の場合、セッションで保存の進行状況を記録するメカニズムと、AJAX を介して進行状況を確認する方法が必要になります。AJAX 経由でフォームを送信し、定期的に check メソッドを呼び出して進行状況のレポートを取得し、クライアント側のインジケーターを更新します (通常、一連の缶詰の画像を切り替えるか、塗りつぶされた「バー」の幅を広げます)。 )。もちろん、これは複雑です。
後者を行いたい場合は、ビジー インジケーターであるアニメーション GIF を表示し、beforeSend コールバックを使用して jQuery から AJAX 経由でフォームを送信し、ajax メソッドの完全なハンドラーを使用してインジケーターを非表示にします。
$('form').ajax( {
url: '/updateprofile.aspx',
type: 'POST',
data: function() { return $('form').serialize(); },
beforeSend: function() { $('#indicator').show(); },
complete: function() { $('#indicator').hide(); },
success: function(data,status) { alert('Update complete'); }
});
上記のコードは、送信を呼び出すか、フォームの送信イベントにフックされるハンドラーから呼び出される関数内にありますが、デフォルトのアクションも実行されないようにする必要があります。
意味のある進行状況インジケータを表示する代わりに、データが保存されている間にアニメーション GIF を表示することもできます。たとえば、Firefox で使用される回転する「デイジー」パターンです。
これは、何かが起こっていることをユーザーに示し、通常は好評です。
最初の '50%' が最後の '50%' と比較してどれくらいの時間がかかるかを実際に把握していない限り、% 完了を示す進行状況インジケーターは意味がないことがよくあります。レコード数の増分を示すものなど、他の進行状況インジケーターはより意味があります。