質問

この特定のプロジェクトで.NET Frameworkライブラリのバージョン2.0でC#とASP.NETを使用しています。 AjaxControlToolkitも使用しています。 AjaxControlToolkitには、私が直面している問題に対する降下型のユーザーインターフェイスソリューションを作成するためのコントロールが必要です。

昨年、いくつかのプロジェクトでこれに遭遇し、過去にさまざまなソリューションを使用しました。私が取り上げたプロジェクトの現在の設計では、<!> lt; asp:DropDownList <!> gt;があります。コントロールとページのロード時に、値のリストを取得するためにデータベース呼び出しが行われます。これは、DropDownListのデータソースを使用してバインドされます。問題は、データベースから25k個のアイテムが返されることです。まず、ユーザーが何万ものアイテムをスクロールしなければならないことは受け入れられません。しかし、さらに重要なことは、テスト対象のすべてのブラウザー(IE 7、FF 3、Safari、Chrome)で、ドロップダウンリストアイテムを伝播しているときにブラウザーが完全にハングすることです。

私が考えているのはモーダルポップアップフォーム、オートコンプリートエクステンダー特定の会社にドリルダウンします。したがって、会社を選択する必要があるフィールドでは、<!> quot; select company <!> quot;をクリックします。アイコン、モーダルフォームが表示され、オートコンプリートエクステンダーを使用して既存の会社を選択できます。彼らは<!> quot; OK <!> quot;をクリックします。そして、値をフィールドに保存します。

しかし、私は古い学校のコマンドライン/シェル/ターミナルの男であり、許容可能なUIデザインの私の考えは歪められるかもしれません(私はどんなシステムでもコマンドプロンプトを与えて、私は行ってもいいです)。ここでコミュニティの人々が受け入れられる解決策だと思うこと、または彼らがこのような他の問題に直面したかどうかについてのアドバイスをお願いします。

役に立ちましたか?

解決

オートコンプリートエクステンダーのアイデアが最善の解決策だと思います。私もこの問題を抱えています(似たような音-あなたが他の人から引き継いでいるプロジェクト)。プッシュバックは多くの場合、ユーザー側から行われます。それらは、アイテムのリストから選択できることに慣れています。残念ながら、データベースが大きくなると、これはますます実行不可能になります。

ただし、ページに0.5MBのhtmlがダウンロードされている場合(ビューステートは含まれません)、妥協する必要があります。

モーダルポップアップを作成する必要があると思うのはなぜですか?データ入力ページにエクステンダーだけを配置することはできませんか?

他のヒント

同じ問題に対処しなければなりませんでした。しかし、ページングのサポートとオートコンプリートを備えたコンボボックスを使用することになりました。現在、このコンボボックスはたまたまTelerikのものです。ドロップリストに入力できないため、オートコンプリート用のコンボボックスです。

私は、ユーザーが25,000個のアイテムを探して自分の欲しいものを見つけたいとは思わないことに同意します。データをドリルダウンできるように制限する方法はありますか?最初に地域または会社の種類を選択してから、一致するものを表示するのが好きですか?

  • 複数のカスケードリストボックス。それぞれが前の結果セットをさらに洗練させます
  • AJAX AutoCompleteExtender
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top