界面:

1 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> 2 3 <!DOCTYPE html> 4 5 <html xmlns="http://www.w3.org/1999/xhtml"> 6 <head runat="server"> 7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 8 <title></title> 9 </head> 10 <body> 11 <form id="form1" runat="server"> 12 <div> 13 <asp:Repeater ID="Repeater1" runat="server"> 14 <HeaderTemplate> 15 <table style="background-color: blue; 100%; text-align:center"> 16 <thead> 17 <tr style="color: white;"> 18 <td>编号</td> 19 <td>名称</td> 20 <td>品牌</td> 21 <td>上市时间</td> 22 <td>油耗</td> 23 <td>动力</td> 24 <td>排量</td> 25 <td>价格</td> 26 <td>图片</td> 27 </tr> 28 </thead> 29 <tbody> 30 </HeaderTemplate> 31 <ItemTemplate> 32 <tr style="background-color: #808080"> 33 <td><%#Eval("Code") %></td> 34 <td><%#Eval("Name") %></td> 35 <td><%#Eval("Brand") %></td> 36 <td><%#Eval("Time") %></td> 37 <td><%#Eval("Oil") %></td> 38 <td><%#Eval("Power") %></td> 39 <td><%#Eval("Exhaust") %></td> 40 <td><%#Eval("Price") %></td> 41 <td><%#Eval("Pic") %></td> 42 </tr> 43 </ItemTemplate> 44 <FooterTemplate> 45 </tbody> 46 </table> 47 </FooterTemplate> 48 </asp:Repeater> 49 <div style=" 50%; position: relative; float: left; height: 25px; line-height: 25px; text-indent: 20px;"> 50 共 51 <asp:Label ID="Label_Sum" runat="server" Text="Label"></asp:Label> 52 条记录,共 53 <asp:Label ID="Label_Maxpage" runat="server" Text="Label"></asp:Label> 54 页,第 55 <asp:Label ID="Label_Nowpage" runat="server" Text="Label"></asp:Label> 56 页|每页 57 <asp:DropDownList ID="DropDownList2" runat="server" AutoPostBack="true" ></asp:DropDownList> 58 条记录 59 </div> 60 <div style=" 30%; position: relative; float: right; height: 25px; line-height: 25px;"> 61 <asp:LinkButton ID="btn_First" runat="server">首页</asp:LinkButton>  62 <asp:LinkButton ID="btn_Prev" runat="server">上一页</asp:LinkButton>  63 <asp:LinkButton ID="btn_Next" runat="server">下一页</asp:LinkButton>  64 <asp:LinkButton ID="btn_Last" runat="server">尾页</asp:LinkButton>  65 <asp:DropDownList ID="DropDownList1" runat="server"></asp:DropDownList> 66 <asp:Button ID="Button1" runat="server" Text="跳转" /> 67 </div> 68 </div> 69 </form> 70 </body> 71 </html>
后台:

1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Web; 5 6 /// <summary> 7 /// Car 的摘要说明 8 /// </summary> 9 public class Car 10 { 11 public Car() 12 { 13 // 14 // TODO: 在此处添加构造函数逻辑 15 // 16 } 17 public string Code { get; set; } 18 public string Name { get; set; } 19 public string Brand { get; set; } 20 public DateTime Time { get; set; } 21 public decimal Oil { get; set; } 22 public int Power { get; set; } 23 public decimal Exhaust { get; set; } 24 public decimal Price { get; set; } 25 public string Pic { get; set; } 26 }

1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Web; 5 using System.Data.SqlClient; 6 7 /// <summary> 8 /// CarData 的摘要说明 9 /// </summary> 10 public class CarData 11 { 12 SqlConnection conn = null; 13 SqlCommand cmd = null; 14 public CarData() 15 { 16 conn = new SqlConnection("server=.;database=mydb;user=sa;pwd=123"); 17 cmd = conn.CreateCommand(); 18 } 19 20 public List<Car> Select() 21 { 22 List<Car> clist = new List<Car>(); 23 cmd.CommandText = "select *from Car"; 24 25 conn.Open(); 26 SqlDataReader dr = cmd.ExecuteReader(); 27 if (dr.HasRows) 28 { 29 while (dr.Read()) 30 { 31 Car c = new Car(); 32 c.Code = dr[0].ToString(); 33 c.Name = dr[1].ToString(); 34 c.Brand = dr[2].ToString(); 35 c.Time = Convert.ToDateTime(dr[3]); 36 c.Oil = Convert.ToDecimal(dr[4]); 37 c.Power = Convert.ToInt32(dr[5]); 38 c.Exhaust = Convert.ToInt32(dr[6]); 39 c.Price = Convert.ToDecimal(dr[7]); 40 c.Pic = dr[8].ToString(); 41 42 clist.Add(c); 43 } 44 } 45 conn.Close(); 46 return clist; 47 } 48 49 50 public List<Car> Select(int count,int nowpage) 51 { 52 List<Car> clist = new List<Car>(); 53 cmd.CommandText = "select top "+count+" *from Car where Code not in (select top "+((nowpage-1)*count)+" Code from Car) "; 54 55 conn.Open(); 56 SqlDataReader dr = cmd.ExecuteReader(); 57 if (dr.HasRows) 58 { 59 while (dr.Read()) 60 { 61 Car c = new Car(); 62 c.Code = dr[0].ToString(); 63 c.Name = dr[1].ToString(); 64 c.Brand = dr[2].ToString(); 65 c.Time = Convert.ToDateTime(dr[3]); 66 c.Oil = Convert.ToDecimal(dr[4]); 67 c.Power = Convert.ToInt32(dr[5]); 68 c.Exhaust = Convert.ToInt32(dr[6]); 69 c.Price = Convert.ToDecimal(dr[7]); 70 c.Pic = dr[8].ToString(); 71 72 clist.Add(c); 73 } 74 } 75 conn.Close(); 76 return clist; 77 } 78 }

1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Web; 5 using System.Web.UI; 6 using System.Web.UI.WebControls; 7 8 public partial class _Default : System.Web.UI.Page 9 { 10 protected void Page_Load(object sender, EventArgs e) 11 { 12 if (!IsPostBack) 13 { 14 DropDownList2.Items.Clear(); 15 for (int i = 1; i <= Sum(); i++) 16 { 17 DropDownList2.Items.Add(new ListItem(i.ToString(), i.ToString())); 18 } 19 20 DropDownList2.SelectedValue = "5";//默认每页五条 21 22 Change(); 23 } 24 25 btn_First.Click += btn_First_Click;//首页 26 btn_Prev.Click += btn_Prev_Click;//上一页 27 btn_Next.Click += btn_Next_Click;//下一页 28 btn_Last.Click += btn_Last_Click;//尾页 29 Button1.Click += Button1_Click;//跳转按钮 30 DropDownList2.SelectedIndexChanged += DropDownList2_SelectedIndexChanged;//每页数据条数发生改变 31 } 32 33 //每页数据条数发生改变时执行 34 private void Change() 35 { 36 int count = Convert.ToInt32(DropDownList2.SelectedValue);//每页的数据条数 37 Label_Sum.Text = Sum().ToString();//总数据条数 38 Label_Maxpage.Text = MaxPage().ToString();//总页数 39 Label_Nowpage.Text = "1";//当前页 40 Repeater1.DataSource = new CarData().Select(count, 1); 41 Repeater1.DataBind(); 42 43 DropDownList1.Items.Clear(); 44 for (int i = 1; i <= MaxPage(); i++) 45 { 46 DropDownList1.Items.Add(new ListItem(i.ToString(), i.ToString())); 47 } 48 btn_First.Enabled = false; 49 btn_Prev.Enabled = false; 50 btn_Next.Enabled = true; 51 btn_Last.Enabled = true; 52 } 53 54 //每页数据条数发生改变 55 void DropDownList2_SelectedIndexChanged(object sender, EventArgs e) 56 { 57 Change(); 58 if (DropDownList2.SelectedValue == "18") 59 { 60 btn_Next.Enabled = false; 61 btn_Last.Enabled = false; 62 } 63 } 64 65 66 //跳转按钮 67 void Button1_Click(object sender, EventArgs e) 68 { 69 int count = Convert.ToInt32(DropDownList2.SelectedValue);//每页的数据条数 70 //按照页数获取绑定数据 71 Repeater1.DataSource = new CarData().Select(count,Convert.ToInt32( DropDownList1.SelectedValue)); 72 Repeater1.DataBind(); 73 //修改显示页数 74 Label_Nowpage.Text = DropDownList1.SelectedValue; 75 if (Convert.ToInt32(Label_Nowpage.Text) <= 1)//若为首页禁用上一页和首页按钮 76 { 77 btn_First.Enabled = false; 78 btn_Prev.Enabled = false; 79 btn_Next.Enabled = true; 80 btn_Last.Enabled = true; 81 } 82 if (Convert.ToInt32(Label_Nowpage.Text) >= MaxPage())//若为最后一页禁用下一页和尾页按钮 83 { 84 btn_Next.Enabled = false; 85 btn_Last.Enabled = false; 86 btn_First.Enabled = true; 87 btn_Prev.Enabled = true; 88 } 89 } 90 91 //首页 92 void btn_First_Click(object sender, EventArgs e) 93 { 94 int count = Convert.ToInt32(DropDownList2.SelectedValue);//每页的数据条数 95 //按照页数获取绑定数据 96 Repeater1.DataSource = new CarData().Select(count, 1); 97 Repeater1.DataBind(); 98 //修改显示页数 99 Label_Nowpage.Text = "1"; 100 //当前为首页禁用上一页和首页按钮 101 btn_First.Enabled = false; 102 btn_Prev.Enabled = false; 103 104 btn_Next.Enabled = true; 105 btn_Last.Enabled = true; 106 } 107 108 //上一页 109 void btn_Prev_Click(object sender, EventArgs e) 110 { 111 int count = Convert.ToInt32(DropDownList2.SelectedValue);//每页的数据条数 112 //获取当前页,计算上一页页数 113 int nextpage = Convert.ToInt32(Label_Nowpage.Text) - 1; 114 //按照页数获取绑定数据 115 Repeater1.DataSource = new CarData().Select(count, nextpage); 116 Repeater1.DataBind(); 117 //修改显示页数 118 Label_Nowpage.Text = nextpage.ToString(); 119 if (nextpage <= 1)//若为首页禁用上一页和首页按钮 120 { 121 btn_First.Enabled = false; 122 btn_Prev.Enabled = false; 123 } 124 btn_Next.Enabled = true; 125 btn_Last.Enabled = true; 126 } 127 //下一页 128 void btn_Next_Click(object sender, EventArgs e) 129 { 130 int count = Convert.ToInt32(DropDownList2.SelectedValue);//每页的数据条数 131 //获取当前页,计算下一页页数 132 int nextpage = Convert.ToInt32(Label_Nowpage.Text) + 1; 133 //按照页数获取绑定数据 134 Repeater1.DataSource = new CarData().Select(count, nextpage); 135 Repeater1.DataBind(); 136 //修改显示页数 137 Label_Nowpage.Text = nextpage.ToString(); 138 if (nextpage >= MaxPage())//若为最后一页禁用下一页和尾页按钮 139 { 140 btn_Next.Enabled = false; 141 btn_Last.Enabled = false; 142 } 143 btn_First.Enabled = true; 144 btn_Prev.Enabled = true; 145 } 146 147 148 //尾页 149 void btn_Last_Click(object sender, EventArgs e) 150 { 151 int count = Convert.ToInt32(DropDownList2.SelectedValue);//每页的数据条数 152 //按照页数获取绑定数据 153 Repeater1.DataSource = new CarData().Select(count, MaxPage()); 154 Repeater1.DataBind(); 155 //修改显示页数 156 Label_Nowpage.Text = MaxPage().ToString(); 157 //若为最后一页禁用下一页和尾页按钮 158 btn_Next.Enabled = false; 159 btn_Last.Enabled = false; 160 161 btn_First.Enabled = true; 162 btn_Prev.Enabled = true; 163 } 164 165 //总的数据条数 166 public int Sum() 167 { 168 List<Car> clist = new CarData().Select(); 169 int a = clist.Count; 170 return a; 171 } 172 173 //总页数 174 public int MaxPage() 175 { 176 int count = Convert.ToInt32(DropDownList2.SelectedValue);//每页的数据条数 177 List<Car> clist = new CarData().Select(); 178 int a = clist.Count; 179 int end = Convert.ToInt32(Math.Ceiling(a / (count * 1.0))); 180 return end; 181 } 182 }