2015-03-10 4 views
0

Я использую DataPager для добавления разбиения на страницы в свой ListView. На странице Load поиск выполняется с использованием строки запроса, а затем добавляет результаты в DataSet, который я использую для заполнения ListView.DataPager slow load

Сама 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> 

Однако, при переключении между страницами, нагрузка результаты крайне медленно. Увидев, что сам поиск выполняется на странице Load (если querystring! = Null), выполняет ли он этот поиск снова и снова, когда я перехожу на новую страницу? Если да, есть ли лучший способ справиться с этим, чтобы страницы загружались быстрее?

ответ

2

Page_Load работает на каждой обратной передаче, поэтому вы должны использовать if(!PostBack && querystring != null). Кроме того, разбивайте свои данные непосредственно в БД, а не на код - это несравнимо быстрее.