次の例を見てみましょう...のデータをページングするために使用される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 ページに表示されます...というように続きます。
ページングが期待どおりに機能しないのはなぜですか?