2010-02-11 84 views
0

我正在使用jquery ajax方法從Web方法獲取數據並使用DOM呈現數據(類似於Google搜索結果).B'coz從網絡方法是巨大的,我想分頁結果。爲此,我需要創建對應於基於no的頁碼的按鈕。 Web方法從數據庫中檢索到的記錄。因此,我在頁面上取了一個div。在Web方法中,只要我可以找到從數據庫中獲取的記錄數,我想創建按鈕並添加到此div和每頁顯示10條記錄。就我所知,無法從Web方法訪問放置在asp.net頁面上的任何內容。在那種情況下,我該如何對結果進行分頁?從asp.net web方法動態添加控件到頁面

請幫忙。

回答

0

如果你使用JQuery AJAX,你可以通過做之類的語句重新創建客戶端上的用戶界面:

$("<input/>").attr("type", "button").click(function() { .. }).appendTo("parentElementselector"); 

$.each(webmethodresults, function(i, item) { 
    //Create UI here using approach illustrated above 
}); 

而重新編程爲每個頁面。

編輯或找到您可以綁定到客戶端的第三方表格控件。 MS AJAX 4有一些客戶端的JS組件,或者有一些JQuery的......但是無論哪種方式,如果使用JQuery通過AJAX流式傳輸,您必須在客戶端上創建。

+0

對不起,布萊恩,我不清楚上面的陳述。請你舉個例子來解釋我嗎? – user269527 2010-02-11 14:52:49

+0

是的,您可以使用JQuery來構建您所需的分頁UI。如果您使用JQuery以JSON格式將結果流式傳輸給您,這就是最簡單的方法。您可以自己構建UI,也可以使用第三方組件或MS AJAX 4客戶端控件。 – 2010-02-11 16:36:27

0

下面是關於如何處理這種情況的替代建議:當頁面加載確定將多少記錄被返回

  1. 將此分爲每頁顯示多少條記錄(10)。
  2. 根據每頁10條記錄的頁數來添加分頁控件。
  3. 只查詢數據庫,查找您將在給定頁面上顯示的10條記錄。如果數據非常龐大,您不會希望將其全部加載到內存中。這可以通過一個方法簽名來完成,該方法簽名接受每個頁面有多少記錄以及您所在的當前頁面。
+0

嗨,Jon, 我能夠找到顯示我的數據所需的分頁控件的數量。我的數據是使用web方法從數據庫中檢索的,它來自不同的表,它們之間沒有任何關係。基本上,我正在檢索數據從這些表基於一個條件並加載到通用列表中,最後連接它們以返回到Jquery ajax方法。那麼如何才能將結果限制到特定的數字,因爲我正在使用多個帶格式的特效?我添加分頁控件到asp.net頁面b'coz我不知道他們需要多少頁面加載? – user269527 2010-02-11 14:44:06