我正在使用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),每当我转到新页面时,它会重新执行搜索吗?如果是这样的话,有没有更好的方法来处理这个问题,让页面加载得更快?
发布于 2015-03-11 01:19:53
Page_Load在每次回发时都会运行,因此您应该使用if(!PostBack && querystring != null)。此外,在DB中直接对数据分页,而不是在代码中分页-它的速度是无与伦比的。
https://stackoverflow.com/questions/28968098
复制相似问题