2015-02-06 25 views
-3

我已經創建了一個應用程序,在該應用程序中,我使用了數據表和處理程序來綁定具有已使用JSON數據格式的數據表的數據。當超過50000條記錄與數據表綁定時,瀏覽器變得無法響應

當我請求數據時第一次所有100,000條記錄進入客戶端的數據表中,但是當我在數據表創建時第二次點擊它時,它不會執行進一步的代碼,並且瀏覽器變得不響應並且被掛起。

var result1 = new { aaData = lst.Select(p => new[] { 
      p.SampleNumber, 
      p.CustomerCode, 
      p.CustomerName, 
      p.VerticalName})}; 

那裏有列表

var serializer = new JavaScriptSerializer 
{ 
    MaxJsonLength = 99999999, 
    RecursionLimit = 100 
}; 
var json = serializer.Serialize(result1); 
context.Response.ContentType = "application/json"; 
context.Response.Write(json); 

這樣我已經綁定使用JSON數據

+3

您正在向表中添加50,000條記錄,並想知道爲什麼它很慢......?更改您的處理程序以一次返回一頁數據。 – 2015-02-06 10:16:21

+0

@roryMacrossan: - 請說明我必須在處理程序中進行什麼類型的更改 – 2015-02-06 10:22:00

+0

沒有人可以告訴你,沒有看到任何服務器端代碼,但我懷疑這將是一個簡單的更改。 – 2015-02-06 10:22:40

回答

1

瀏覽器不「喜歡」來處理大型數據集的詳細10-15列。他們不是爲此而設計的。人是一樣的。假設維基百科在1個請求中返回了50k條。你能理解任何事情嗎?

返回與用戶有關的10(或100)條記錄,並允許他們獲取下一頁。

+0

: - 在數據表中,我獲得了超過50,000條記錄,但我已經使用了分頁,在那裏我只顯示每頁10條記錄。所以我在數據表中有超過5000頁的數據。 – 2015-02-06 11:14:15

+0

正確。谷歌存儲petabates,但一次只顯示10條記錄。您不會將頁面存儲在數據庫本身中。您存儲您在那裏的所有數據,但一次只顯示少量數據。 – oleksii 2015-02-06 11:23:17

+0

感謝您寶貴的時間。我得到了答案。我通過使用fncleartable()在每次查找點擊時清除表格數據。 – 2015-02-10 05:49:03

相關問題