0

現在、ページのハッシュ テーブルに格納されている製品リストがあります。私の Page_Load() イベントは、多数の Web サービス要求を送信して製品リストを生成するメソッドを呼び出します。次に、製品リストが ListView にデータバインドされ、すべて正常に機能します。唯一の問題は、ページが読み込まれる前に、すべての Web サービス要求が完了するまで待たなければならないことです。

私の質問は次のとおりです。Web サービスの呼び出しで 300 個の製品が返されるという事実を考慮してください。最初のサービス リクエスト (最初の 30 アイテムなど) をデータ バインドして表示し、残りの製品アイテム (他の Web サービス リクエスト) をリクエストの完了時に ListView にロードするにはどうすればよいでしょうか。すべてのデータがロードされる間、更新パネルとアニメーションが表示されます。

これを行う理由は、ページが表示されるまでの待ち時間が短縮され、残りの製品が読み込まれている間にユーザーが何かを確認できるようになるためです。

どうすればこのようなことをすることができますか? 特定の問題についてネット上で情報を見つけることができないようです。

ありがとう

4

1 に答える 1

0

「ページング」を探しています。ページングを使用するには、List-/GridView コントロールを構成し、ページング プロパティを指定する必要があります。

ただし、Web サービスに、1 ページのアイテムのみをロードするように指示する必要もあります。それ以外の場合は、ページングがありますが、まだすべてのアイテムをロードしています。

すべての顧客を含むリストがあると仮定しましょう。

から現在の Web サービス インターフェイスを拡張する必要がある場合があります。

public IEnumerable<Customer> GetAllCustomers();

public int GetAllCustomerCount();
public IEnumerable<Customer> GetAllCustomers(int itemsPerPage, int page);
  1. クエリの合計数を知る必要があります (ただし、実際にはすべてをロードする必要はありません)。
  2. 現在のページに必要なアイテムのみを取得する方法が必要です。
于 2013-04-22T12:05:15.810 に答える