2009-09-24 130 views
4

DataPager停止工作我有一個標準的ListView(使用DataTable作爲數據源)的標準ASP.Net DataPager。當頁面大小設置在代碼

當我在設計代碼中設置每頁= 「24」:

<asp:DataPager runat="server" ID="DataPager1" PagedControlID="ListView1" QueryStringField="page" PageSize="24" > 

尋呼像宣傳的那樣。

然而,當我然後更改,在代碼,在Page_Load,例如:

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 

    DataPager1.PageSize = 48 
End Sub 

尋呼停止完全工作,而初始加載的數據集是確實48個項目。

我看不出任何會影響這個的代碼,所以我想知道如果我錯過了一些東西 - 我應該改變別的東西嗎?

問候

回答

1

這種錯誤通常我找到的是一個數據綁定的問題......無論綁定時你不應該,或不重新綁定在適當的時候。很難從你的一小段代碼中分辨出來。

我不熟悉DataPager對象,但我懷疑它在設置PageSize時必須重新綁定數據。如果是這樣,那麼每次加載頁面時都會重新綁定,並且您正在丟失事件。你試過這個嗎?

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 
    If Not IsPostBack 
     DataPager1.PageSize = 48 
    End If 
End Sub 
+0

這不適合我。 – Michael 2010-07-13 01:32:47

9
Protected Sub DataPager1_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles DataPager1.Init 
    DataPager1.PageSize = 48 
End Sub 

我設法在DataPager的init事件設置頁面大小屬性來得到這個工作。

+0

謝謝 - 我遇到了同樣的問題! – 2010-10-21 12:50:25

+0

這也適用於我。 – Eddie 2011-05-16 14:00:01

+0

這正是我需要的,謝謝! – 2011-07-01 09:31:56