第一种:使用GridView自带分页,这种是最简单的分页方法。
----------前台代码----------
<asp:GridView ID="GridView1" runat="server" AllowPaging="True"
PageSize="5" onpageindexchanging="GridView1_PageIndexChanging"
onrowdatabound="GridView1_RowDataBound" ShowFooter="True">
<PagerSettings FirstPageText="l&lt;" LastPageText="&gt;l"
Mode="NextPreviousFirstLast" />
<PagerTemplate>
<asp:Button ID="Button1" runat="server" CommandArgument="First"
CommandName="page" Text="|<" Width="30px" /> 
<asp:Button ID="Button2" runat="server" CommandArgument="Prev"
CommandName="page" Text="<" Width="30px" /> 
<asp:Button ID="Button3" runat="server" CommandArgument="Next"
CommandName="page" Text=">" Width="30px" /> 
<asp:Button ID="Button4" runat="server" CommandArgument="Last"
CommandName="page" Text=">|" Width="30px" />
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
</PagerTemplate>
</asp:GridView>
----------------后台代码-------------------
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindStudent();
}
}
private void BindStudent()
{
string sql = "select * from student";
DataTable dt = sqlhelper.ExecuteDataTable(sql);
this.GridView1.DataSource = dt;
this.GridView1.DataBind();
this.GridView2.DataSource = dt;
this.GridView2.DataBind();
}
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.Pager)
{
(e.Row.Cells[0].FindControl("Label1") as Label).Text = "这是第"+ (GridView1.PageIndex + 1).ToString() + "页,共" + GridView1.PageCount + "页";
}
}
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
if (e.NewPageIndex >= 0)
{
this.GridView1.PageIndex = e.NewPageIndex;
this.BindStudent();
}
}
操作完成后实现以下效果: