我有一个标准的 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/