1

4 年以上使用されている顧客の Web サイトがいくつかあります。両方のサイトのページの 1 つに、現在 3000 以上のアイテムを含むドロップダウンが含まれています。1 つのサイトが Silverlight を使用し、もう 1 つのサイトが ajax を使用している両方のサイトに新しいページを追加することで、この問題の最初の解決策を試みました。

Silverlight ページは現在、コントロールが読み込まれると ajax ページよりも優れたパフォーマンスを発揮しますが、ユーザーは Silverlight またはそれをインストールする権限を持っている必要があります。ajax バージョンには、サイトが最初に読み込まれたときにドロップダウンを完了するためにすべてのデータを最初にダウンロードする必要があるという問題があります。

ajax バージョンは引き続きビュー ステートを使用し、リクエストごとに 400k+ をサーバーに送信します。

私がやりたいのは、ajax バージョンを使用することですが、ドロップダウン データをクライアントにキャッシュし、データを 1 日に 1 回だけダウンロードすることです。

asp.net を使用してデータを分離ストレージに保存した場合 (その部分をソートしました)、jquery などのクライアント側コードを使用してアクセスできますか?

4

1 に答える 1

2

個人的には、3000 以上のアイテムにドロップダウンを使用する方法はありません。データ転送とビューステートに問題があるだけでなく、ユーザーが必要なオプションを見つけるために多くの項目をスクロールするのも面倒です。

次のようなことを考えましたか。

http://jquery.bassistance.de/autocomplete/demo/

「入力を開始」のようなテキストボックスがあります...ユーザーが探しているものの最初の文字を入力すると、その文字で始まるすべてのエントリを取得する ajax クエリが作成されます。

アルファベットが 26 文字あるとすると、データの平均 4%、つまり 3000 ではなく 120 エントリが返されます。また、ユーザーがシステムに慣れてくると、より多くの文字を入力できるようになり、探しているものをより速く見つけることができます。3000 エントリのリストをスクロールするのに勝って、アプリケーションを使いやすく、応答性が高く、ネットワーク フレンドリーにすることができます。

于 2009-11-07T22:49:58.403 に答える