ASP.NET GridView 分页 - 处理最后一页按钮
ASP.NET GridView Paging - Handle Last Page Button
我正在尝试使用 asp:GridView 的内置分页功能,但当模式设置为 NumericFirstLast 时似乎无法使 "Last Page" 按钮工作。这是代码示例:
<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 的任何建议事件参数?
好吧,我无法解释原因,也无法在 MSDN 文档中找到答案,但正如 Ehsan 在上面的评论中所建议的那样,当 e.NewPageIndex == -1
如果将 GridView1.PageIndex
设置为 Int32.MaxValue
时强制网格到最后一页。
如果有人碰巧找到 why/how 的文档,请 post 发表评论!
我正在尝试使用 asp:GridView 的内置分页功能,但当模式设置为 NumericFirstLast 时似乎无法使 "Last Page" 按钮工作。这是代码示例:
<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 的任何建议事件参数?
好吧,我无法解释原因,也无法在 MSDN 文档中找到答案,但正如 Ehsan 在上面的评论中所建议的那样,当 e.NewPageIndex == -1
如果将 GridView1.PageIndex
设置为 Int32.MaxValue
时强制网格到最后一页。
如果有人碰巧找到 why/how 的文档,请 post 发表评论!