我有一个ListView,我将数据绑定到这样的对象集合:int total;List<Client> clientList = clientData.GetClients(criteria, pageNum, pageSize, out total);uxClientList.DataSource = clientList;uxClientList.DataBind();其中pageNum,pageSize和total参数有助于在数据访问层进行分页。到目前为止,一切都很好。现在,我可以将DataPager放在页面上,将其指向ListView并获得不错的分页UX。 There's a little more to it when you're binding programmatically instead of declaratively with a data source control,但是这里的问题是DataPager希望每次都检索整个结果集,并据此计算分页,因此它将返回的单页结果视为总可用记录,并像呈现在那一样呈现只有一页结果可用。换句话说,如果我们切换到GetClients的非分页版本,则上述方案在DataPager上可以正常工作:List<Client> clientList = clientData.GetClients(criteria);uxClientList.DataSource = clientList;uxClientList.DataBind();显然,由于我们的数据访问层足以为我们提供一次检索页面的方法,因此这比每次检索所有记录都更好。如果我们可以将可用记录总数明确地通知DataPager,这样它仍可以自动创建分页输出,但一次只需要一页,那就太好了。我还没有找到一种简便的方法来进行搜索,也没有找到任何搜索结果。诚然,我目前尚未对DataPager的实现有深入的了解,因此希望我可以忽略一些东西。 最佳答案 您什么都没忽略。处理大型结果集时,您需要关闭分页并添加自己的分页控件。以我的经验 >>就足够了。无论如何,没人会越过第三页。
07-25 22:19