我有一个奇怪的问题,我不了解 DataPager。更改页面集(例如第 6 - 10 页)后,单击页面(6、7、8、9 或 10),它将再次显示到从 1 开始计数的第一组页面。
让我解释。我有一个带有 Listview 和 DataPager 的 ASP.Net 页面。
<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 期间执行了 DataBind。
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 页。
有人可以解释为什么会这样吗?想念我什么?谢谢。