2009-09-24 102 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