页面上加上
<asp:LinkButton ID="btnFirst" runat="server" OnClick="btnFirst_Click">第一页</asp:LinkButton>
<asp:LinkButton ID="btnPre" runat="server" OnClick="btnPre_Click">上一页</asp:LinkButton>
<asp:LinkButton ID="btnNext" runat="server" OnClick="btnNext_Click">下一页</asp:LinkButton>
<asp:LinkButton ID="btnLast" runat="server" OnClick="btnLast_Click">尾页</asp:LinkButton>
<br />
<asp:TextBox ID="txbPageindex" runat="server" style="width: 148px"></asp:TextBox>
<asp:LinkButton ID="LinkButton1" runat="server" OnClick="LinkButton1_Click">Go</asp:LinkButton>
<asp:Label ID="lbpageindex" runat="server" Text=""></asp:Label>
后台写
private void GetLastPageIndex()
{
string sqlstr = ConfigurationManager.ConnectionStrings["sqlsever"].ConnectionString;
SqlConnection con = new SqlConnection(sqlstr);
con.Open();
SqlCommand cmd = con.CreateCommand();
cmd.CommandText = "select count(*) from neirong2";
int totalcount = Convert.ToInt32(cmd.ExecuteScalar());
cmd.Dispose();
con.Close();
con.Dispose();
if (totalcount % pagesize == 0)
{
ViewState["lastpageindex"] = totalcount / pagesize;
}
else
{
ViewState["lastpageindex"] = totalcount / pagesize + 1;
}
protected void btnFirst_Click(object sender, EventArgs e)
{
ViewState["pageindex"] = 1;
neirong2shuju();
SetPageIndexInfo();
}
protected void btnPre_Click(object sender, EventArgs e)
{
int pageindex = Convert.ToInt32(ViewState["pageindex"]);
if (pageindex > 1)
{
ViewState["pageindex"] = pageindex - 1;
neirong2shuju();
SetPageIndexInfo();
}
}
protected void btnNext_Click(object sender, EventArgs e)
{
int pageindex = Convert.ToInt32(ViewState["pageindex"]);
if (pageindex < Convert.ToInt32(ViewState["lastpageindex"]))
{
ViewState["pageindex"] = pageindex + 1;
neirong2shuju();
SetPageIndexInfo();
}
}
protected void btnLast_Click(object sender, EventArgs e)
{
ViewState["pageindex"] = ViewState["lastpageindex"];
neirong2shuju();
SetPageIndexInfo();
}
protected void LinkButton1_Click(object sender, EventArgs e)
{
ViewState["pageindex"] = txbPageindex.Text.Trim();
neirong2shuju();
SetPageIndexInfo();
}
private void SetPageIndexInfo()
{
this.lbpageindex.Text = ViewState["pageindex"].ToString() + "/" + ViewState["lastpageindex"].ToString() + "页";
}
在page_Load中调用GetLastPageIndex()。写上 ViewState["pageindex"] = 1;。
声明全局变量 int pagesize = 10;//这个是每页要显示几条数据
private void neirong2shuju()
{
string sql = ConfigurationManager.ConnectionStrings["sqlsever"].ConnectionString;
SqlConnection con = new SqlConnection(sql);
SqlCommand cmd = con.CreateCommand();
con.Open();
cmd.CommandText = "select * from (select ROW_NUMBER() over(order by time desc) as rownumber,* from neirong2)t where t.rownumber>(@pageindex-1)*@pagesize and t.rownumber<=@pageindex*@pagesize"; //neirong2是表名。改掉就可以了。 time是根据表中的time字段排序
cmd.Parameters.AddWithValue("@pageindex", Convert.ToInt32(ViewState["pageindex"]));
cmd.Parameters.AddWithValue("@pagesize", pagesize);
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
adapter.Fill(dt);
cmd.Dispose();
con.Close();
con.Dispose();
this.GridView1.DataSource = dt;
this.GridView1.DataBind();
}