ドロップダウンリストを作成する最速の方法&リスト制御
-
07-07-2019 - |
質問
現在、.NET 3.5フレームワークを使用したn層(3層)ASP.NET Webアプリケーションで作業しています。
n層アプリケーションの「ベストプラクティス」を利用して、リストコントロールとドロップダウンリストのデータを可能な限り高速にロードする方法を知りたい。
最新の実行可能なテクノロジー(ASP.NET MVC、Entity Framework、Telerik Combobox for UI、AJAXなど)を使用したベストプラクティスは何ですか?
解決
"最速の方法&quot ;?データベースをローカルメモリにロードし、最適化されたアセンブリコードを記述してフェッチします。
しかし真剣に。あなたの質問は非常に幅広く、「家を建てる最も速い方法は何ですか」と尋ねるようなものです。まあ...もっと多くの情報が必要です。どんな家?どんな窓?土地はどのようなものですか?
多数のDAL、「実現可能な技術」、およびフレームワークがあります。それらをどのように組み合わせても、必要なものが得られる可能性があります。特定の要件を実際に設定するまで、探しているものを理解するのはかなり困難になります。
他のヒント
wompが言ったこと。それと「最速」方法は、大量のデータをクライアントにプッシュするのではなく、送信されるデータを最小限に抑えることです。
リストを作成& AJAXを使用したクライアントのドロップダウンコントロール。
- アプリケーションの起動時にキャッシュメモリにデータをロードする
- クライアントは、コントロールに読み込むデータのJSONリクエストを行います
- JSONオブジェクトは、キャッシュから取得したデータを使用してサーバー上に作成され、クライアントに送り返されます
- クライアントで、返されたJSONオブジェクトを反復処理し、DOM要素をリストに追加します&ドロップダウンコントロール
ドロップダウンリストの選択肢がページのレンダリング時に既知であると仮定して、次の戦略を使用します。
- 単純な古いOPTIONタグのレンダリングのみを優先します。
- ページの読み込みが遅くなりすぎる場合は、ページの読み込み時にすぐにトリガーされるAJAXを使用して(設定が完了するまでコントロールを無効に設定します)、フォームの残りの部分がレンダリングできるようにします。
- それでもまだ遅すぎる、または扱いにくい場合は、AJAXオートコンプリートフィールドを使用してください。
上記の(1)または(2)で、選択肢のリストが静的である場合、サーバー上のオプションリストを、まだ作成されていないときにStringBuilderによって構築されたHTML文字列としてアプリケーションキャッシュに保存することをお勧めしますまたは更新する必要があります。