2012-01-17 76 views
1

請問在ASP.NET中有多少行綁定項目(從TABLE中選擇COLUMN)的最佳方法是什麼?數百萬條目的數據綁定下拉列表

我現在已經被凍結ASP.NET頁面,作爲DROPDOWNLIST試圖從SQL Server來填充,超過100萬行數據。

感謝

雅法

回答

0

最好的辦法是不要做了!沒有用戶希望從一百萬行最好的辦法是有某種漸進式搜索,當用戶開始輸入給他們的選項列表中選擇

+0

可以友好地顯示我可以如何實現漸進式搜索,可以根據數百萬行推薦建議....我是VB(Asp.net)的noob ...謝謝! – user851971 2012-01-17 16:00:30

0

考慮,凍結時間爲一大警示信號。爲什麼你應該讓用戶選擇1000K的項目。這將是一個很大的用戶界面失敗。通過JSON webservice調用使用自動完成控件。

0

最好的方法是讓網格頁面和DropDowns過濾。

在網格頁面

你只顯示前X記錄和用戶可以移動到下一個/上/首/末頁等等。

在過濾控制你問用戶鍵入的第一個X字符,然後只顯示匹配的記錄。

2

對於這樣的大名單你需要問自己的東西第一

  • 你真想把一個百萬行的下拉列表?
  • 根據以前的選擇,顯示多個下拉菜單並對下一個下拉菜單進行填充不會更容易嗎?
  • 你可以有一個DIV模擬下拉,當滾動條達到結束時,你可以加載更多的行...

最好的辦法是排序在類別和用戶顯示一個嚮導一樣由於我懷疑任何人都會閱讀100萬條記錄,因此一步一步地處理了幾個下拉菜單。

如果你還是想要去的那怪異的步驟顯示,在短短一個下拉一切,您可以輕鬆地將結果緩存一段時間,當請求fillup數據時,它會用什麼內存並從未到達數據庫。

或者,如果它的東西,並沒有帶來太大變化,你可以從文本文件加載巫一個百萬行的更快連接到數據庫......然後刷新請求或自動該文件。

+0

感謝所有你的提示響應...... @ balexandre,我如何將文本文件綁定到dropdownList? – user851971 2012-01-17 11:16:17

+0

你使用'DataSource'控件爲你做了辛苦工作,這裏是'XmlDataSource' [示例](http://www.codeproject.com/KB/webforms/XMLDataSource.aspx),或者你可以簡單的解析它使用'System.IO.File.ReadAllLines'方法並填充下拉列表,這是最快的方法。 – balexandre 2012-01-17 12:01:58

0

如果你真的想這樣做,首先你可以綁定你的對象後搜索用戶,否則如果用戶搜索沒有任何綁定的所有。在.net 4中,你可以使用Linq,最好的方式來讓你的數據使用這種技術。但它太多,以顯示給你的用戶。

0

正如每個答案所述,將100萬條記錄存入下拉列表並不是一個實際的選擇。來自Smashing Magazine的人們寫了一個更好的方法 - 類似的article - 專門關注用戶體驗大降,非常值得一讀。