我有一个标准的 ASP.Net DataPager 和一个标准的 ListView(使用 DataTable 作为数据源)。

当我在设计代码中设置 PageSize="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 个项目。

我在代码中看不到任何会影响这个的东西,所以我想知道我是否遗漏了什么 - 我应该改变其他东西吗?

问候

最佳答案

我通常发现的这种错误是数据绑定(bind)问题......要么在不应该绑定(bind)时绑定(bind),要么在适当时不重新绑定(bind)。很难从你的一小段代码中分辨出来。

我不熟悉 DataPager 对象,但我怀疑它必须在您设置 PageSize 时重新绑定(bind)数据。如果是这样,那么每次页面加载时都会重新绑定(bind)并且您正在丢失事件。你试过这个吗?

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

关于asp.net - 当在代码中设置 PageSize 时,DataPager 停止工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1471921/

10-11 21:07