У меня странная проблема, которую я не понимаю в DataPager.После изменения набора страниц (например, страниц 6 - 10) и нажатия на страницу (6, 7, 8, 9 или 10) она будет отображаться для первого набора страниц, начиная с 1.
Позволь мне объяснить.У меня есть страница ASP.Net с Listview и DataPager.
<asp:ListView ... DataSourceId="EntityDataSource" DataKeyNames="id">
<LayoutTemplate>
<asp:DataPager runat="server" ID="DataPager1" PageSize="15">
<Fields>
<asp:NextPreviousPagerField FirstPageText="<<" ShowFirstPageButton="True" ShowNextPageButton="False"
ShowPreviousPageButton="False" />
<asp:NumericPageField />
<asp:NextPreviousPagerField LastPageText=">>" ShowLastPageButton="True" ShowNextPageButton="False"
ShowPreviousPageButton="False" />
</Fields>
</asp:DataPager>
</LayoutTemplate>
</asp:ListView>
Чтобы обновить данные, я делаю привязку данных во время PreRender.
protected override void OnPreRender(EventArgs e)
{
lstview1.DataBind();
base.OnPreRender(e);
}
Все это работает, но проблема в том, что набор страниц не запоминается во время обратных передач.Позвольте мне объяснить это.
По первому запросу страницы страницы показывают:
<< 1 2 3 4 5 ... >>
Нажав на ..., будет отображаться следующий набор страниц (а также будут отображаться данные страницы 6)
<< ... 6 7 8 9 10 ... >>
Нокогда я нажимаю на страницы с 7 по 10, текст страниц будет отображать первый набор страниц 1-5.
Может кто-нибудь объяснить, почему это произошло?Мисс я что-то?Спасибо.