0

外部ソースからデータを読み取るWebページがあります。データの取得には時間がかかる場合があります。

バックグラウンドでこれを実現するための最善の方法について誰かが私にアイデアをくれるかどうか疑問に思いました。ページを表示して、データが最終的に表示されるパネルに「処理中」(またはそのようなもの)を表示したいと思います。

私はBackgroundWorkerコンポーネント、または多分AsyncPostBackTriggerについて考えました...これらが私の満足のいく問題を解決するかどうかさえわかりません。

それで...問題への良いアプローチについて誰かが何かアイデアを持っていますか?

アドバイスありがとうございます!!

4

4 に答える 4

1

あなたが探しているのはAjaxだと思います。ユーザーが他のコンテンツをロードするまで表示し続けることができるように、クライアント側からリクエストを作成する必要があります。

UpdatePanel.NETには、コントロールから非同期操作まで、AJAXリクエストをサポートするためのさまざまな手法があります。どのテクニックを使用するかは、実行しようとしていることの詳細によって異なります。

jQueryのようなライブラリを使用して、Webアプリケーションの別のページまたはサービスにコンテンツの非同期リクエストを行うこともできます。

于 2010-09-30T15:01:25.713 に答える
0

私はAJAXを使用し、処理メッセージを含むページをユーザーに送信してから、JavaScriptを使用して(プロキシとしてサイトを介して)XmlHttpRequestから外部ソースを要求します。

于 2010-09-30T15:02:40.917 に答える
0

asp:Timer1つの解決策は、更新パネル内のページに貼り付けることです*。イベントOnTickに処理の現在のステータス(進行状況のパーセンテージ、実行された場合、実行中など)を取得させます。処理部分がページに進行状況を通知する方法はさまざまです。進行状況プロパティを指定し、実行時に更新することは、それを行う1つの方法です。OnTickイベントは処理を実行しないことに注意してください。処理の状況を把握するだけです。

Interval*更新パネルの外に置くと、すべてではなくすべてにチェックマークが付けられます。Timer.Interval + TimeToReloadUpdatePanelこれは、の場合に大きな問題になりますTimeToReloadUpdatePanel >= Timer.Interval

于 2010-09-30T15:04:00.173 に答える
0

私の考えでは、Webクエリは高速である必要があるため、クエリのパフォーマンスを向上させる方法を探します。データが各クエリで同じになる場合は、キャッシュしてみます。それが不可能な場合は、jQueryを使用して非同期リクエストを作成し、クエリが終了するまで読み込み中の画像を表示します。

于 2010-10-01T16:33:20.607 に答える