现在发现当最后一页的数据刚好PageSize条时,点击尾页不出错,导航完全正确,而当最后一页的条数小于PageSize时,点击尾页后,不触发PageIndexChanging事件,出现上述错误,这是为什么啊?难道Gridview导航还规定最后一页正好PageSize条记录嘛?

解决方案 »

  1.   


    GridView1.PageIndex = e.NewPageIndex;是不是索引值的问题
      

  2.   

    不是,当最后一页的数据刚好PageSize条时,点击首页,上一页,下一页,尾页不出错,导航完全正确
      

  3.   

    补充代码:
    自定义导航页:  
      <PagerTemplate>
       <table width="100%">
       <tr>
       <td width="100%" align="left">
       <asp:Label ID="CurrentPageLabel" ForeColor="Blue" runat="server" />
       &nbsp;&nbsp;&nbsp;&nbsp;
       <asp:Label ID="MessageLabel" ForeColor="Blue" Text="页码:" runat="server" />
       <asp:DropDownList ID="PageDropDownList" AutoPostBack="true" OnSelectedIndexChanged="PageDropDownList_SelectedIndexChanged"  
      runat="server" />
       &nbsp;&nbsp;&nbsp;&nbsp;
       <asp:LinkButton ID="linkBtnFirst" runat="server" CommandName="Page" CommandArgument="First" >首页</asp:LinkButton>
       &nbsp;&nbsp;
       <asp:LinkButton ID="linkBtnPrev" runat="server" CommandName="Page" CommandArgument="Prev">上一页</asp:LinkButton>
       &nbsp;&nbsp;
       <asp:LinkButton ID="linkBtnNext" runat="server" CommandName="Page" CommandArgument="Next">下一页</asp:LinkButton>
       &nbsp;&nbsp;
       <asp:LinkButton ID="linkBtnLast" runat="server" CommandName="Page" CommandArgument="Last">尾页</asp:LinkButton>
       </td>
         
      </tr>
       </table>
       </PagerTemplate>  后台代码:
       protected void GridViewResult_PageIndexChanging(object sender, GridViewPageEventArgs e)
       {
       GridViewResult.PageIndex = e.NewPageIndex;
       // this.CurrentPage = e.NewPageIndex;//保存当前页码
       BindGrid();
       }