Plsは、ASP.NETで100万行のアイテム(TABLEからCOLUMNを選択)をバインドする最良の方法を教えてください。
dropdownList が SQL SERVER から 100 万行を超えるデータを入力しようとするため、ASP.NET ページがフリーズしています。
ありがとう
ヤッファ
Plsは、ASP.NETで100万行のアイテム(TABLEからCOLUMNを選択)をバインドする最良の方法を教えてください。
dropdownList が SQL SERVER から 100 万行を超えるデータを入力しようとするため、ASP.NET ページがフリーズしています。
ありがとう
ヤッファ
そのような大きなリストについては、最初に何かを自問する必要があります
最善のアプローチは、カテゴリで分類し、ユーザーにウィザードと同様に、いくつかのドロップダウンを使用して段階的なプロセスを表示することです.
すべてを 1 つのドロップダウンに表示するという奇妙な手順を実行したい場合は、結果を一定期間簡単にキャッシュできます。データをいっぱいにするように要求すると、メモリ内のデータが使用され、データベースに到達することはありません。
または、それほど変化しないものである場合は、データベースに接続する方が高速なテキスト ファイルから 100 万行をロードし、要求に応じて、または自動的にそのファイルを更新することができます。
100 万件のレコードをDropDownList
. これは使いやすさに非常に悪いです。ユーザーはどのようにして必要なオプションを見つけられるのでしょうか?
可能であればDropDownList
、タイムアウトの問題を回避し、使いやすさを向上させるために、これらをカスケードにグループ化する必要があります。
ASP.NET AJAX コントロール ツールキット カスケード ドロップダウンの例を次に示します。
http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/CascadingDropDown/CascadingDropDown.aspx
ここでのすべての回答で述べられているように、ドロップダウンリストに100万レコードを入札することは実際的なオプションではありません。Smashing Magazineの人々は、より良いアプローチに関する素晴らしい(同様の)記事を書きました。特に、大きなドロップダウンのユーザーエクスペリエンスに焦点を当てており、読む価値があります。
本当にそれをしたい場合は、最初にユーザーで検索した後にオブジェクトをバインドできます。.net 4 では Linq を使用できます。データを取得する最良の方法は、このテクノロジを使用することです。しかし、ユーザーに表示するには多すぎます。
やらないのが一番!100 万行から選択したいユーザーはいません
その凍結時間を大きな警告信号と考えてください。1000K のアイテムの中からユーザーに選択させる必要があるのはなぜですか。それはUIの大きな失敗です。JSON Web サービス呼び出しでオートコンプリート コントロールを使用します。
最善の方法は、グリッドでページングし、ドロップダウンでフィルタリングすることです。
グリッド ページでは、最初の X レコードのみを表示し、ユーザーは次/前/最初/最後のページなどに移動できます。
フィルター処理されたコントロールでは、ユーザーに最初の x 文字を入力してから、一致するレコードのみを表示するように求めます。