1

Plsは、ASP.NETで100万行のアイテム(TABLEからCOLUMNを選択)をバインドする最良の方法を教えてください。

dropdownList が SQL SERVER から 100 万行を超えるデータを入力しようとするため、ASP.NET ページがフリーズしています。

ありがとう

ヤッファ

4

7 に答える 7

2

そのような大きなリストについては、最初に何かを自問する必要があります

  • 本当にドロップダウンに 100 万行を入れたいですか?
  • いくつかのドロップダウンを表示し、前の選択に基づいて次のドロップダウンを埋める方が簡単ではないでしょうか?
  • ドロップダウンをエミュレートするdivを作成し、スクロールバーが最後に達したときに、さらに行をロードできます...

最善のアプローチは、カテゴリで分類し、ユーザーにウィザードと同様に、いくつかのドロップダウンを使用して段階的なプロセスを表示することです.

すべてを 1 つのドロップダウンに表示するという奇妙な手順を実行したい場合は、結果を一定期間簡単にキャッシュできます。データをいっぱいにするように要求すると、メモリ内のデータが使用され、データベースに到達することはありません。

または、それほど変化しないものである場合は、データベースに接続する方が高速なテキスト ファイルから 100 万行をロードし、要求に応じて、または自動的にそのファイルを更新することができます。

于 2012-01-17T09:37:36.503 に答える
1

100 万件のレコードをDropDownList. これは使いやすさに非常に悪いです。ユーザーはどのようにして必要なオプションを見つけられるのでしょうか?

可能であればDropDownList、タイムアウトの問題を回避し、使いやすさを向上させるために、これらをカスケードにグループ化する必要があります。

ASP.NET AJAX コントロール ツールキット カスケード ドロップダウンの例を次に示します。

http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/CascadingDropDown/CascadingDropDown.aspx

于 2012-01-17T09:34:41.573 に答える
0

ここでのすべての回答で述べられているように、ドロップダウンリストに100万レコードを入札することは実際的なオプションではありません。Smashing Magazineの人々は、より良いアプローチに関する素晴らしい(同様の)記事を書きました。特に、大きなドロップダウンのユーザーエクスペリエンスに焦点を当てており、読む価値があります。

于 2012-01-17T09:51:00.100 に答える
0

本当にそれをしたい場合は、最初にユーザーで検索した後にオブジェクトをバインドできます。.net 4 では Linq を使用できます。データを取得する最良の方法は、このテクノロジを使用することです。しかし、ユーザーに表示するには多すぎます。

于 2012-01-17T09:42:39.693 に答える
0

やらないのが一番!100 万行から選択したいユーザーはいません

于 2012-01-17T09:34:28.213 に答える
0

その凍結時間を大きな警告信号と考えてください。1000K のアイテムの中からユーザーに選択させる必要があるのはなぜですか。それはUIの大きな失敗です。JSON Web サービス呼び出しでオートコンプリート コントロールを使用します。

于 2012-01-17T09:36:00.603 に答える
0

最善の方法は、グリッドでページングし、ドロップダウンでフィルタリングすることです。

グリッド ページでは、最初の X レコードのみを表示し、ユーザーは次/前/最初/最後のページなどに移動できます。

フィルター処理されたコントロールでは、ユーザーに最初の x 文字を入力してから、一致するレコードのみを表示するように求めます。

于 2012-01-17T09:36:05.527 に答える