0

我有一个奇怪的问题,我不了解 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="&lt;&lt;" ShowFirstPageButton="True" ShowNextPageButton="False"
                        ShowPreviousPageButton="False" />
                <asp:NumericPageField />
                 <asp:NextPreviousPagerField LastPageText="&gt;&gt;" 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 页。

有人可以解释为什么会这样吗?想念我什么?谢谢。

4

1 回答 1

0

您在错误的地方进行数据绑定。我认为这会重置分页。你确定如果你删除它不起作用lstview1.DataBind();

您可以查看此页面以获取示例: http ://www.beansoftware.com/asp.net-tutorials/listview-datapager.aspx

于 2010-08-03T15:58:15.050 回答