ASP.NET GridView 分页 - 处理最后一页按钮

问题描述 投票:0回答:1

我正在尝试利用 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,因此我无法使用它来将页面索引设置为计数 - 1。有关此代码发生的情况或为什么我从事件中收到 -1 的任何建议参数?

c# asp.net gridview pagination
1个回答
1
投票

好吧,我无法解释原因,也无法在 MSDN 文档中找到答案,但正如 Ehsan 在上面的评论中建议的那样,当

e.NewPageIndex == -1
如果将
GridView1.PageIndex
设置为
Int32.MaxValue
时,它会强制网格到最后一页。

如果有人碰巧找到了有关其工作原理/原因的文档,请发表评论!

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.