ASP.NET 网格视图分页 - 处理最后一页按钮

本文关键字:处理 最后 一页 按钮 分页 NET 网格 视图 ASP | 更新日期: 2023-09-27 18:33:50

>我正在尝试使用 asp:GridView 的内置分页功能,但当模式设置为 NumericFirstLast 时,似乎无法让"最后一页"按钮工作。 下面是代码示例:

<asp:GridView ID="GridView1" runat="server" AllowSorting="true" AllowPaging="true" 
    PagerSettings-Mode="NumericFirstLast" PageSize="15"
    OnPageIndexChanging="GridView1_PageIndexChanging">
    <%-- Column Definitions --%>
</asp:GridView>
// C# Behind
protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        LoadGrid();
    }
}
public void LoadGrid()
{
    // Assign DataSource
    GridView1.DataBind();
}
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
    GridView1.PageIndex = e.NewPageIndex;
    LoadGrid();
}

发生的情况是,当在寻呼机上单击最后一个按钮时e.NewPageIndex该按钮的值为 -1,这意味着赋值会引发异常。 但是,索引更改事件期间的GridView1.PageCount为 0,因此我无法使用它将页面索引设置为 count - 1。 关于此代码发生了什么或为什么我从事件参数中收到 -1 的任何建议?

ASP.NET 网格视图分页 - 处理最后一页按钮

好吧,我无法解释原因,也无法在MSDN文档中找到答案,但正如Ehsan在上面的评论中建议的那样,当您e.NewPageIndex == -1 GridView1.PageIndex设置为Int32.MaxValue时,它会强制网格到最后一页。

如果有人碰巧找到有关为什么/如何工作的文档,请对此发表评论!