【问题标题】:Pagination in asp.net using Datapager - next,previous button使用 Datapager 在 asp.net 中分页 - 下一个,上一个按钮
【发布时间】:2013-12-12 10:19:47
【问题描述】:
<div>
    <asp:ListView ID="listTexts" runat="server" OnDataBound="listTexts_DataBound">
        <ItemTemplate>
            <div>
                <span id="CommentedText">
                        <%# DataBinder.Eval(Container.DataItem, "Comment") %>
                    </span>
            </div>
</ItemTemplate>
 </asp:ListView>
<div>
 <asp:DataPager ID="DataPager" runat="server" PagedControlID="listTexts" PageSize="10">
<Fields>
        <asp:NextPreviousPagerField ShowNextPageButton="false" />
         <asp:NumericPagerField />
        <asp:NextPreviousPagerField ShowPreviousPageButton="false" />
</Fields>
</div>
</div>

这是我的 .ascx 文件中的代码 listTexts_DataBound 的事件在 .cs(代码隐藏)文件中

protected void listTexts_DataBound(object sender, EventArgs e)
 {
     DataPager.Visible = (DataPager.PageSize < DataPager.TotalRowCount);
 }

当我运行代码时,我必须按两次下一个或上一个按钮才能移动到下一页或上一页。 我需要在第一次单击时发生这种情况。 假设有 100 个页面,最后有 10 个数字,第一个 ant 中的上一个,下一个,当我单击下一个时,我必须单击两次才能将页面从 1 移动到 2,当我单击上一个时,从第 10 页移动到第 9 但是其余的导航,即从 2 到 9 只会在第一次点击时发生。

请指导。 提前致谢

【问题讨论】:

    标签: c# javascript jquery asp.net


    【解决方案1】:

    我们可以使用 OnPreRender="DataPager_PreRender" 并且在这种情况下我们可以分配数据并绑定。

    <asp:DataPager ID="DataPager" runat="server" PagedControlID="ListView"
    PageSize="5" OnPreRender="DataPager_PreRender">
    

    这应该是后面的代码:

    protected void DataPager_PreRender(object sender, EventArgs e)
    {
                ListView.DataSource = db.datasource();
                ListView.DataBind();
    }
    

    这解决了问题

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-13
      • 1970-01-01
      • 2019-11-09
      • 2014-10-26
      相关资源
      最近更新 更多