我正在尝试使用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的建议事件args?
答案 0 :(得分:0)
好吧,我无法解释原因,也无法在MSDN文档中找到答案,但正如Ehsan在上述评论中所建议的那样,e.NewPageIndex == -1
如果您将GridView1.PageIndex
设置为Int32.MaxValue
则会强制网格到最后一页。
如果有人碰巧找到了有关其原因或方法的文档,请发表评论!