У меня странная проблема, о которой я не понимаю о DataPager. После изменения набора страниц (например, страницы 6-10) и нажатия на страницу (6, 7, 8, 9 или 10), она будет перемещаться на первый набор страниц, отсчитываемых от 1 снова.DataPager возвращается к первым страницам
Позвольте мне объяснить. У меня есть страница ASP.Net со списком и 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>
Чтобы обновить данные, я делаю DataBind во время 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.
Может кто-нибудь объяснить, почему это происходит? Мисс, я что-то? Благодарю.
Спасибо за ваш ответ. Удаление DataBindg не работает. Я прочитаю эту страницу. – robertpnl