0

我目前有一个产品列表,它存储在我页面上的哈希表中。我的 Page_Load() 事件调用一个方法,该方法发送多个 Web 服务请求并生成一个产品列表。然后产品列表数据绑定到我的 ListView 并且一切正常。唯一的问题是我必须等待所有 Web 服务请求完成才能加载我的页面。

我的问题如下:考虑 Web 服务调用将返回 300 个产品的事实。我将如何进行数据绑定和显示第一个服务请求(比如前 30 个项目),然后在请求完成时将其余的产品项目(其他 Web 服务请求)加载到 ListView 中。加载所有数据时,将有一个更新面板和动画。

我想这样做的原因是因为它减少了页面显示之前的等待时间,并且它在填充其余产品时为用户提供了一些可以查看的内容。

我将如何去做这样的事情?对于我的具体问题,我似乎无法在网上找到任何信息。

谢谢

4

1 回答 1

0

您正在寻找“分页”。为了使用分页,您需要配置您的 List-/GridView 控件并指定分页属性。

但是,您还需要告诉您的 Web 服务,您只想加载一页的项目。否则,您有一个分页,但仍在加载所有项目。

假设您有一个包含所有客户的列表。

您可能需要从

public IEnumerable<Customer> GetAllCustomers();

public int GetAllCustomerCount();
public IEnumerable<Customer> GetAllCustomers(int itemsPerPage, int page);
  1. 您需要知道查询的总数(但实际上并不是全部加载)
  2. 您需要一种方法来仅获取当前页面所需的项目。
于 2013-04-22T12:05:15.810 回答