以Car表为例分页

页面以table展示数据分页 页面代码

  <asp:Repeater ID="Repeater1" runat="server">
<HeaderTemplate>
<table style="background-color:navy;text-align:center;width:80%;">
<thead>
<tr style="color:white;">
<td>编号</td>
<td>名称</td>
<td>铭牌</td>
<td>日期</td>
<td>油耗</td>
<td>动力</td>
<td>轴距</td>
<td>价格</td>
</tr>
</thead>
<tbody>
</HeaderTemplate>
<ItemTemplate>
<tr style="background-color:white;">
<td><%#Eval("Code") %></td>
<td><%#Eval("Name") %></td>
<td><%#Eval("Brand") %></td>
<td><%#Eval("Time") %></td>
<td><%#Eval("Oil") %></td>
<td><%#Eval("Powers") %></td>
<td><%#Eval("Exhaust") %></td>
<td><%#Eval("Price") %></td>
</tr> </ItemTemplate>
<FooterTemplate>
</tbody>
</table>
</FooterTemplate>
</asp:Repeater> 当前第【<asp:Label ID="Label_now" runat="server" Text="Label"></asp:Label>】页&nbsp &nbsp
共【<asp:Label ID="Label_max" runat="server" Text="Label"></asp:Label>】页 &nbsp &nbsp
<asp:LinkButton ID="LinkButton_frist" runat="server">首页</asp:LinkButton>&nbsp &nbsp
<asp:LinkButton ID="LinkButton_prve" runat="server">上一页</asp:LinkButton>&nbsp &nbsp
<asp:LinkButton ID="LinkButton_next" runat="server">下一页</asp:LinkButton>&nbsp &nbsp
<asp:LinkButton ID="LinkButton_last" runat="server">尾页</asp:LinkButton>&nbsp &nbsp
跳转到<asp:DropDownList ID="DropDownList_jump" AutoPostBack="true" runat="server"></asp:DropDownList>

页面显示

分页关键:每页显示多少条数据 显示的是第几页数据,数据访问类分页查询方法

   public List<Car> Select(int pagecount,int pagenumber)
{
List<Car> clist = new List<Car>();
cmd.CommandText = " select top " + pagecount + "* from Car where Code not in(select top " + (pagecount * (pagenumber - )) + " Code from Car);";
conn.Open();
SqlDataReader dr = cmd.ExecuteReader();
if (dr.HasRows)
{
while (dr.Read())
{
Car c = new Car();
c.Code = dr[].ToString();
c.Name = dr[].ToString();
c.Brand = dr[].ToString();
c.Time = Convert.ToDateTime(dr[]);
c.Oil = Convert.ToDecimal(dr[]);
c.Powers = Convert.ToInt32(dr[]);
c.Exhaust = Convert.ToInt32(dr[]);
c.Price = Convert.ToDecimal(dr[]);
clist.Add(c);
}
}
conn.Close();
return clist;
}

后台代码

 int pagecount = ;//每页显示的数据条数
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)//加载页面展示数据
{
Repeater1.DataSource = new CarData().Select(pagecount,);
Repeater1.DataBind();
Label_now.Text = "";
Label_max.Text = Maxpage().ToString();
for (int i = ; i <= Maxpage(); i++)//跳转下拉列表添加数据
{
DropDownList_jump.Items.Add(new ListItem(i.ToString(), i.ToString()));
} }
LinkButton_frist.Click += LinkButton_frist_Click;//首页
LinkButton_prve.Click += LinkButton_prve_Click;//上一页
LinkButton_next.Click += LinkButton_next_Click;//下一页
LinkButton_last.Click += LinkButton_last_Click;//尾页
DropDownList_jump.SelectedIndexChanged += DropDownList_jump_SelectedIndexChanged;//跳转页面 }
void LinkButton_frist_Click(object sender, EventArgs e)//首页
{
//数据绑定上去
Repeater1.DataSource = new CarData().Select(pagecount, );
Repeater1.DataBind();
//当前页数改变
Label_now.Text = "";
LinkButton_next.Enabled = true;
LinkButton_prve.Enabled = false;
}
  public int Maxpage()//最大页数
{
List<Car> clist = new CarData().Select();
return Convert.ToInt32(Math.Ceiling(clist.Count / (pagecount * 1.0)));
} void LinkButton_prve_Click(object sender, EventArgs e)//上一页
{
// 显示第几页
int pagenumber = Convert.ToInt32(Label_now.Text) -;
//数据绑定上去
Repeater1.DataSource = new CarData().Select(pagecount, pagenumber);
Repeater1.DataBind();
//当前页数改变
Label_now.Text = pagenumber.ToString();
// 设置上下页按钮时候可用
if (pagenumber <= )
{
LinkButton_prve.Enabled = false;
}
LinkButton_next.Enabled = true;
} void LinkButton_next_Click(object sender, EventArgs e)//下一页
{
// 显示第几页
int pagenumber = Convert.ToInt32(Label_now.Text) + ;
//数据绑定上去
Repeater1.DataSource = new CarData().Select(pagecount, pagenumber);
Repeater1.DataBind();
//当前页数改变
Label_now.Text = pagenumber.ToString();
// 设置上下页按钮时候可用
if (pagenumber >= Maxpage())
{
LinkButton_prve.Enabled = true;
}
LinkButton_next.Enabled = false;
} void LinkButton_last_Click(object sender, EventArgs e)//尾页
{
//数据绑定上去
Repeater1.DataSource = new CarData().Select(pagecount, Maxpage());
Repeater1.DataBind();
//当前页数改变
Label_now.Text = Maxpage().ToString();
//按钮改变
LinkButton_next.Enabled = false;
LinkButton_prve.Enabled = true;
} void DropDownList_jump_SelectedIndexChanged(object sender, EventArgs e)//跳转页面
{
//绑定数据
Repeater1.DataSource = new CarData().Select(pagecount, Convert.ToInt32(DropDownList_jump.SelectedValue));
Repeater1.DataBind();
//显示当前 为第几页
Label_now.Text = DropDownList_jump.SelectedValue;
// 判断页数设置上下页按钮样式
if (Convert.ToInt32(DropDownList_jump.SelectedValue) >= Maxpage())// 大于最大页数
{
LinkButton_next.Enabled = false;
LinkButton_prve.Enabled = true;
}
else if (Convert.ToInt32(DropDownList_jump.SelectedValue) <= )//小于最小页数
{
LinkButton_next.Enabled = true;
LinkButton_prve.Enabled = false;
}
else
{
LinkButton_next.Enabled = true;
LinkButton_prve.Enabled = true;
}
}

Web 分页的更多相关文章

  1. C# Web分页功能实现

    无论是网站还是APP分页功能都是必不可少的.为什么使用分页呢? 1,加载速度快,不会占用服务器太多资源,减少服务器压力. 2,减少数据库压力. 3,提升用户体验. 那么我们常用的分页方法有两种. 1, ...

  2. python web 分页组件

    闲来无事便写了一个易使用,易移植的Python Web分页组件.使用的技术栈是Python.Django.Bootstrap. 既然是易使用.易移植的组件,首先介绍一下其在django框架中的调用方式 ...

  3. [转]Oracle分页之二:自定义web分页控件的封装

    本文转自:http://www.cnblogs.com/scy251147/archive/2011/04/16/2018326.html 上节中,讲述的就是Oracle存储过程分页的使用方式,但是如 ...

  4. python实现web分页日志查看

    当我们维护一个网站时,无论前台还是后台,经常会出现各种个样的问题.有时候问题很难直观的发现,这个时候只能查看各种日志来跟踪问题.但是查看日志有各种个样的问题.首先,要用各种工具登陆到服务器,这个有时候 ...

  5. java web 分页实现

       分页实现的效果:    ///////// /////////////////////////////////////////////////////// /////////////////// ...

  6. java web分页查询初试

    ssh2分页查询初试,放着记录学习一下. entity:student.java: package com.zte.entity; /** * 数据持久化,跟数据库的的相应的表的字段是对应的. * * ...

  7. web分页控件AspNetPager的使用

    首先要先引用AspNetPager.dll文件 然后在<html>上面添加下面代码: <%@ Register Assembly="AspNetPager" Na ...

  8. web分页打印

    添加css: page-break-before:always 实现分页 window.print()//实现打印

  9. Strut2与Hibernate的一个web分页功能

    代码没有进行过多的封装,可能看起来有点action代码部分,hibernate在这里只起到了一个查询记录集的作用. import java.util.ArrayList; import java.ut ...

随机推荐

  1. 当我谈 "加班有罪" 我在谈什么?

    前言 PS. 本文只描述IT行业. 博客园果真人气比较高,我之前准备写个 "领域驱动系列",然后感觉大家不感兴趣,看来用的人不多,所以一直没动力续,但是昨天写了 [加班有罪] (h ...

  2. SecureCRT使用技巧

    原创文章转载请注明出处:@协思, http://zeeman.cnblogs.com   修改SecureCRT颜色配置 option->Global options –> Termina ...

  3. ios 避免循环引用

    类似网络请求的情况下会导致循环引用,但是 如果网络请求的对象是局部变量,就必须用self,不能用weakSelf,否则,一旦当前方法所在对象销毁,那weakSelf就为空了(如果目的是这样,那就另当别 ...

  4. Tomcat 让百度的域名显示自己的页面内容(玩耍篇)

    步骤一:在 C:\Windows\System32\drivers\etc目录下的Hosts文件中添多一个条目,如下图, 第二步:在server.xml文件中做响应配置,如下图 然后在Host节点中进 ...

  5. 使用HTML5的History API

    HTML5 History API提供了一种功能,能让开发人员在不刷新整个页面的情况下修改站点的URL.这个功能很有用,例如通过一段JavaScript代码局部加载页面的内容,你希望通过改变当前页面的 ...

  6. 基于空项目模板创建使用Owin来host的WebApi项目

    首先创建一个空的web项目,如下图所示: 项目创建成功以后,安装下面三个package. Install-Package Microsoft.AspNet.WebApi -Version 5.2.2I ...

  7. PHP运行及语句及逻辑

    php开发网页需要存放在wamp根目录下的www文件夹中才可运行成功.同时wamp要处于运行状态.  无站点情况下打开方式:  网址栏中输入:localhost/文件名称 代码规范: 用 <?p ...

  8. Chrome开发者工具不完全指南(二、进阶篇)

    上篇向大家介绍完了基础功能篇,这次分享的是Chrome开发工具中最有用的面板Sources.  Sources面板几乎是我最常用到的Chrome功能面板,也是在我看来决解一般问题的主要功能面板.通常只 ...

  9. MongoDB 聚合操作

    在MongoDB中,有两种方式计算聚合:Pipeline 和 MapReduce.Pipeline查询速度快于MapReduce,但是MapReduce的强大之处在于能够在多台Server上并行执行复 ...

  10. C#设计模式系列:观察者模式(Observer)

    在软件构建过程中,需要为某些对象建立一种“通知依赖关系”,即一个对象的状态发生改变,所有的依赖对象都需要得到通知. 1.观察者模式简介 1.1>.定义 定义对象间的一种一对多的依赖关系,当一个对 ...