2009-05-14 3 views
1

私はASP.NET 2.0 Webアプリケーションを持っています。ユーザーがデータを保存するときに進捗インジケータを表示したいと思います(例:プロファイルの編集)。いくつかのクライアントの副作用のための私のアプリケーション。これどうやってするの ?どんなjqueryがASP.NETと一緒に使うことができる信頼できるもの?事前に感謝しますASP.NET:データをDBに保存する際に進捗情報を表示

答えて

2

実際の進行状況を表示したいのですか、処理中にビジー状態のインジケータだけを表示しますか?前者の場合は、セッションの保存の進行状況を記録するメカニズムと、AJAXを介して進行状況を確認するメソッドが必要になります。 AJAXを介してフォームを送信し、定期的にチェックメソッドを呼び出して、進行状況のレポートを取得し、クライアントサイドのインジケータを更新します(通常、一連のキャンバスイメージの1つから別のものに切り替えるか、 )。これはもちろん複雑です。

beforeSendコールバックを使用してjQueryからAJAX経由でフォームを送信している間、アニメーションGIFをビジターインジケータとして表示し、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'); } 
}); 

上記のコードから呼び出される関数になります - あなたも、場所を取ってから、デフォルトのアクションを阻止する必要があると思いますけれども。

+0

私はajaxフォームの投稿を使用していません。私はasp.netボタンclick.Iのサーバー側でもデータを保存するか、私は決してajaxフォームsubmit.Isを使用してその方法を使用するリスク要因はありません?私はそれについて確信が持てません。投稿にajaxを使用する利点がありますか? – Shyju

+0

@tvanofossonこの回答は保存されました... –

1

意味のある進捗インジケータを表示する代わりに、データが保存されている間にアニメーションgifを表示することができます。 Firefoxで使用されている回転する「デイジー」パターン。

これは、何か起こっていることをユーザーに示し、通常はよく受信されます。

%完了を示す進捗インジケータは、とにかく最初の'50% 'が最後の'50%'と比較してどのくらいの時間を取るかを実際に理解している場合を除いて意味がありません。その他の進捗インジケータはより意味があります。レコード数の増分などが表示されます。

+0

更新中にサーバーが爆発してもアニメーションは続行されるため、必ずしもそうではありません。 –

+1

すべての場合に適切ではありませんが、しばしば十分です。私は実装するのに十分な時間を与えられたサーバと話す適切なインジケータを持っていきます。 –

関連する問題