前端界面:
当前第【<asp:Label ID="Label_nowpage" runat="server" Text="Label"></asp:Label>】页   共【<asp:Label ID="Label_maxpage" runat="server" Text="Label"></asp:Label>】页   <asp:LinkButton ID="btn_first" runat="server">首页</asp:LinkButton>   <asp:LinkButton ID="btn_prev" runat="server">上一页</asp:LinkButton>   <asp:LinkButton ID="btn_next" runat="server">下一页</asp:LinkButton>   <asp:LinkButton ID="btn_last" runat="server">末页</asp:LinkButton>   <asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="true"></asp:DropDownList> <asp:Button ID="Button1" runat="server" Text="跳转" />
实体类:
using System; using System.Collections.Generic; using System.Linq; using System.Web; /// <summary> /// goods 的摘要说明 /// </summary> public class goods { public goods() { // // TODO: 在此处添加构造函数逻辑 // } public int ids { get; set; } public string goodsname { get; set; } public string number { get; set; } public string sprice { get; set; } public DateTime intime { get; set; } public string gtel { get; set; } public string goodsbase { get; set; } }
数据访问类:
选择五条:
public List<goods> select(int count,int nowpage) { List<goods> glist = new List<goods>(); cmd.CommandText = "select top "+count+"*from goods where ids not in(select top "+((nowpage-1)*count)+" ids from goods)"; conn.Open(); SqlDataReader dr = cmd.ExecuteReader(); if (dr.HasRows) { while (dr.Read()) { goods g = new goods(); g.ids = Convert.ToInt32(dr[0]); g.goodsname = dr[1].ToString(); g.number = dr[2].ToString(); g.sprice = dr[3].ToString(); g.intime = Convert.ToDateTime(dr[4]); g.gtel = dr[5].ToString(); g.goodsbase = dr[6].ToString(); glist.Add(g); } } conn.Close(); return glist; }
选择全部:
public List<goods> select() { List<goods> glist = new List<goods>(); cmd.CommandText = "select*from goods"; conn.Open(); SqlDataReader dr = cmd.ExecuteReader(); if (dr.HasRows) { while (dr.Read()) { goods g = new goods(); g.ids = Convert.ToInt32(dr[0]); g.goodsname = dr[1].ToString(); g.number = dr[2].ToString(); g.sprice = dr[3].ToString(); g.intime = Convert.ToDateTime(dr[4]); g.gtel = dr[5].ToString(); g.goodsbase = dr[6].ToString(); glist.Add(g); } } conn.Close(); return glist; }
后台代码:
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class Default2 : System.Web.UI.Page { int count = 5;//每页显示条数 protected void Page_Load(object sender, EventArgs e) { //string ni = Session["a"].ToString(); //Label1.Text = ni + ",欢迎回来!"; if (!IsPostBack) { Label_nowpage.Text = "1"; Label_maxpage.Text = maxpagenum().ToString(); Repeater1.DataSource = new goodsdata().select(count, 1); Repeater1.DataBind(); btn_prev.Enabled = false; int max = maxpagenum(); for (int i = 1; i <= max; i++) { DropDownList1.Items.Add(i.ToString()); } } DropDownList1.SelectedIndexChanged += Button1_Click; btn_first.Click += btn_first_Click;//首页 btn_prev.Click += btn_prev_Click;//上一页 btn_next.Click += btn_next_Click;//下一页 btn_last.Click += btn_last_Click;//末页 Button1.Click += Button1_Click; } void Button1_Click(object sender, EventArgs e) { //获取当前页,计算要看的下一页的页号 int pagenext = Convert.ToInt32(DropDownList1.SelectedValue); //按照获取的页数绑定相应的数据 Repeater1.DataSource = new goodsdata().select(count, pagenext); Repeater1.DataBind(); //修改显示页数 Label_nowpage.Text = pagenext.ToString(); //判断是否禁用 if (pagenext == 1) { btn_prev.Enabled = false; btn_next.Enabled = true; } if (pagenext == maxpagenum()) { btn_prev.Enabled = true; btn_next.Enabled = false; } } void btn_first_Click(object sender, EventArgs e)//跳转第一页 { //按照获取的页数绑定相应的数据 Repeater1.DataSource = new goodsdata().select(count, 1); Repeater1.DataBind(); //修改显示页数 Label_nowpage.Text = "1"; btn_prev.Enabled = false; btn_next.Enabled = true; } void btn_prev_Click(object sender, EventArgs e)//跳转上一页 { //获取当前页,计算要看的下一页的页号 int pagenext = Convert.ToInt32(Label_nowpage.Text) - 1; //按照获取的页数绑定相应的数据 Repeater1.DataSource = new goodsdata().select(count, pagenext); Repeater1.DataBind(); //修改显示页数 Label_nowpage.Text = pagenext.ToString(); //判断是否有下一页 if (pagenext<=1) { btn_prev.Enabled = false; } //恢复下一页按钮的可用性 btn_next.Enabled = true; } void btn_next_Click(object sender, EventArgs e)//跳转下一页 { //获取当前页,计算要看的下一页的页号 int pagenext = Convert.ToInt32(Label_nowpage.Text) + 1; //按照获取的页数绑定相应的数据 Repeater1.DataSource = new goodsdata().select(count,pagenext); Repeater1.DataBind(); //修改显示页数 Label_nowpage.Text = pagenext.ToString(); //判断是否有下一页 if (pagenext >= maxpagenum()) { btn_next.Enabled = false; } btn_prev.Enabled = true; } void btn_last_Click(object sender, EventArgs e)//跳转尾页 { //按照获取的页数绑定相应的数据 Repeater1.DataSource = new goodsdata().select(count, maxpagenum()); Repeater1.DataBind(); //修改显示页数 Label_nowpage.Text = maxpagenum().ToString(); btn_prev.Enabled = true; btn_next.Enabled = false; } public int maxpagenum()//计算最大页数的方法 { List<goods> glist = new goodsdata().select(); int end = Convert.ToInt32(Math.Ceiling(glist.Count / (count * 1.0))); return end; } }