方法一、使用自定义的分页效果: 前台: <tr> <td> <asp:GridView ID="GridView1" runat="server" CellPadding="4" ForeColor="#333333" AutoGenerateColumns="False" GridLines="None" PageSize="20" Width="629px" AllowPaging="True" DataKeyNames="id" PagerStyle-HorizontalAlign="Center" PagerStyle-VerticalAlign="Middle"> <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" /> <RowStyle BackColor="#EFF3FB" /> <EditRowStyle BackColor="#2461BF" /> <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" /> <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" VerticalAlign="Middle" /> <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" /> <AlternatingRowStyle BackColor="White" /> <PagerSettings Visible="False" /> <Columns> <asp:BoundField DataField="inYear" HeaderText="年份" /> <asp:BoundField DataField="location" HeaderText="地区" /> <asp:BoundField DataField="batch" HeaderText="批次" /> <asp:BoundField DataField="subjectSort" HeaderText="科类" /> <asp:BoundField DataField="controlFraction" HeaderText="分数线" /> </Columns> </asp:GridView> </td> </tr> <tr> <td> <div style="float:left" mce_style="float:left"> <asp:linkbutton ID="lnkbtnTop" Text="首页" OnClick="lnkbtnTop_Click" runat="server"></asp:linkbutton> <asp:linkbutton ID="lnkbtnPrve" Text="上一页" OnClick="lnkbtnPrve_Click" runat="server"></asp:linkbutton> <asp:linkbutton ID="lnkbtnNext" Text="下一页" OnClick="lnkbtnNext_Click" runat="server"></asp:linkbutton> <asp:linkbutton ID="lnkbtnLast" Text="尾页" OnClick="lnkbtnLast_Click" runat="server"></asp:linkbutton> </div> <div style="float:right" mce_style="float:right"> 第<asp:label id="labNowPage" runat="server"></asp:label>页 || 共<asp:label id="labCount" runat="server"></asp:label>页 </div> </td> </tr> 后台: //绑定数据到GridView1 private void GetBatchFraction() { try { conn = new SqlConnection(connString); conn.Open(); com = new SqlCommand("proc_getBatchFraction", conn); /*使用存储过程的话一定要有下面这一句*/ com.CommandType = CommandType.StoredProcedure; com.Parameters.Add(new SqlParameter("@inYear", inYear)); com.Parameters.Add(new SqlParameter("@location", location)); com.Parameters.Add(new SqlParameter("@subjectSort", subjectSort)); da = new SqlDataAdapter(com); ds = new DataSet(); da.Fill(ds, "tb_BatchFraction"); GridView1.DataSource = ds.Tables["tb_BatchFraction"].DefaultView; GridView1.DataBind(); labNowPage.Text = Convert.ToString(GridView1.PageIndex + 1); labCount.Text = Convert.ToString(GridView1.PageCount); conn.Close(); } catch (SqlException e) { Console.WriteLine("Exception in main :" + e); } } //跳转到首页 protected void lnkbtnTop_Click(object sender, EventArgs e) { GridView1.PageIndex = 0; GetBatchFraction(); } //跳转到上一页 protected void lnkbtnPrve_Click(object sender, EventArgs e) { int pageNum = GridView1.PageIndex; if (pageNum != 0) { GridView1.PageIndex = pageNum - 1; GetBatchFraction(); } } //跳转到下一页 protected void lnkbtnNext_Click(object sender, EventArgs e) { int pageNum = GridView1.PageIndex; if (pageNum != GridView1.PageCount - 1) { GridView1.PageIndex = pageNum + 1; GetBatchFraction(); } } //跳转到尾页 protected void lnkbtnLast_Click(object sender, EventArgs e) { GridView1.PageIndex = GridView1.PageCount - 1; GetBatchFraction(); } 方法二、使用gridview自带的分页效果 在GridView中,如果不使用DataSource控件,自己需要分页的话,需要在PageIndexChanging事件中自己加入代码,要不就会出错,代码如下: protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e) { GridView1.PageIndex = e.NewPageIndex; BindGridView(); }