Возьмите следующий пример ... страницу с ListView
и DataPager
, используемыми для подкачки данных ListView
:
Код сзади:
protected void Page_Load(object sender, EventArgs e)
{
MyList.DataSource = GetSomeList();
MyList.DataBind();
}
Источник:
<asp:ListView ID="MyList" runat="server">
<% //LayoutTemplate and ItemTemplate removed for the example %>
</asp:ListView>
<asp:DataPager ID="ListPager" PagedControlID="MyList" runat="server" PageSize="10">
<Fields>
<asp:NumericPagerField />
</Fields>
</asp:DataPager>
Проблема с DataPager
заключается в том, что он всегда отстает от привязки.
Например, когда страница загружается, она находится на странице номер 1. Затем, когда вы нажимаете на страницу 3, она остается на странице 1 после обратной передачи. Затем вы нажимаете на страницу 5, и после обратной передачи она оказывается на странице 3 ... и после этого вы нажимаете на страницу 6, и она оказывается на странице 5 ... и так далее, и так далее.
Почему пейджинг не работает должным образом?