DataPager缓慢加载

时间:2015-03-10 15:47:01

标签: c# asp.net datapager

我正在使用DataPager为我的ListView添加分页。在PageLoad上,使用查询字符串执行搜索,然后将结果添加到我用来填充ListView的DataSet。

DataPager本身非常基础,我只使用它:

<asp:DataPager ID="ListViewPager" PagedControlID="listViewResults" PageSize="10" runat="server" QueryStringField="page">
  <Fields>
    <asp:NextPreviousPagerField ButtonType="Link" PreviousPageText="Previous" ShowFirstPageButton="false" ShowNextPageButton="false" ShowPreviousPageButton="true" />
    <asp:NumericPagerField ButtonType="Link" />
    <asp:NextPreviousPagerField ButtonType="Link" NextPageText="Next" ShowLastPageButton="false" ShowNextPageButton="true" ShowPreviousPageButton="false" />
  </Fields>
</asp:DataPager>

但是,在页面之间切换时,结果加载速度非常慢。看到搜索本身是在PageLoad上执行的(如果是querystring!= null),每当我转到新页面时,它是否会重新执行搜索?如果是这样,有没有更好的方法来处理这个,所以页面加载更快?

1 个答案:

答案 0 :(得分:2)

Page_Load会在每次回发时运行,因此您应该使用if(!PostBack && querystring != null)。此外,直接在数据库中对数据进行分页,而不是在代码中 - 它的速度要快得多。