top
Loading...
在客戶端執行數據庫記錄的分頁顯示----1
緒論

在ASP程序應用中經常有一個任務就是在一個分頁格式中顯示數據庫的查詢結果。比如,當處理大量的記錄內容時,應該一次只顯示10個項目,這樣就會使訪問者使用這些信息更容易些。網絡上已經有許多文章示范了多種對數據庫查詢結果進行分頁的方法,其中較好的文章包括:

使用存儲過程對數據庫記錄進行分頁

數據庫分頁樣本代碼

使用GetRows對記錄進行分頁

但是所有這些文章介紹的方法都是在服務器端進行分頁處理的。舉例來說,假如有30條數據庫記錄,我們希望一次顯示10條記錄。當用戶請求第一頁數據時,ASP頁面就提取前10條記錄并將它們發送給客戶。當用戶已經作好準備可以閱覽下面10條記錄時,他就點擊一個鏈接,這時ASP頁面就被重新裝載,通過查詢字符串傳遞進來一個新的頁面值,ASP頁面將取出第11條到20條記錄,并將它們發給用戶。

本文中我們將把這整個處理過程移植到客戶端。當用戶聯機查看數據時,這30個記錄將全部以客戶端JavaScript 數組的形式發送到客戶機上。另外,附加的客戶端JavaScript代碼負責顯示第1到第10條記錄,并且鏈接到后面或者前面的記錄集。當點擊這些鏈接時,將執行客戶端JavaScript代碼,新的數據會顯示出來。由于這些都是在客戶端發生的,因此只有在頁面第一次被裝載時才需要與Web服務器聯系,從而省卻服務器與客戶端間的數據傳遞消耗,無疑大大地提高了應用程序的性能。

所需要的客戶端腳本

要實現在客戶端顯示分頁的數據庫記錄,ASP頁面應該生成什么樣的客戶端腳本呢?如同前面所述,我們需要創建一個客戶端數組。因為我們準備在一個HTML表格中顯示數據庫記錄,那么就要創建一個HTML數組,也許用它來顯示一個HTML TABLE行(<tr><td> Database Value </td></tr>)。這個數組中將包含所有我們希望允許用戶翻閱的數據庫元素。

我們還需要一個客戶端的JavaScript函數以顯示這些數組值的子集。使用這個函數,我們可以顯示前N 個記錄;當用戶點擊一個鏈接時,就可以顯示后面(或前面) N個記錄。也就是說,這個函數負責客戶端分頁。

最后,我們還需要一些方法在不更新頁面的情況下來動態改變一個HTML頁面的顯示。這可以通過DHTML(動態HTML)來實現。要實現這個目的,我們需要在堆積所有輸出的地方創建一個HTML DIV標記,然后使用客戶端JavaScript代碼在這個DIV標記中動態修改內容。關于使用DHTML的更多信息,請閱讀動態HTML入門及跨瀏覽器DHTML教程.


北斗有巢氏 有巢氏北斗