以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. shell简单用法笔记(shell中数值运算)二

    shell中变量值,如果不手动指定类型,默认都是字符串类型: 例如: a= b= c=$a+#b echo $c 结果会输出:123+456 shell中,如果要进行数值运算,可以通过一下方法: 方法 ...

  2. MyISAM和InnoDB

    MyISAM和InnoDB MyISAM MyISAM使用B+tree作为索引结构,叶节点存放的是数据地址. MyISAM不支持事务和外键. MyISAM是表锁,对数据库写操作时会锁住整个表,效率低. ...

  3. WebApi系列~目录

    回到占占推荐博客索引 写了这个系列的文章不少了,也应该为大家写个目录了,最近很刮了很多SOA的风,很多企业都将自己的系统进行分割,通常是按模块进行拆分,为这个模块提供统一的接口提供业务服务,这不紧可以 ...

  4. MongoDB 文档的删除操作

    在db中删除数据是十分危险的事,建议使用logic delete,即在doc中增加一个field:IsDeleted,将其设置为1,表示该doc在逻辑上被删除,这种workaround将delete操 ...

  5. C#设计模式系列:享元模式(Flyweight)

    当频繁地从数据源读取数据时,读出的内容存在重复,那么需要使用享元模式(Flyweight)来提高内存效率,Flyweight模式将节省更多空间,共享的Flyweight越多,空间节省越大. 1.享元模 ...

  6. C#设计模式系列:单一职责原则(Single Responsibility Principle)

    1.单一职责原则的核心思想 一个类应该有且只有一个变化的原因. 2.为什么要引入单一职责原则 单一职责原则将不同的职责分离到单独的类,每一个职责都是一个变化的中心.当需求变化时,这个变化将通过更改职责 ...

  7. jquery EasyUI的formatter格式化函数代码

    要格式化数据表格列,需要设置formatter属性,该属性是一个函数,它包含两个参数:  value: 对应字段的当前列的值  record: 当前行的记录数据  复制代码 代码如下: $('#tt' ...

  8. IOS开发之自动布局显示网络请求内容

    在上一篇博客中详细的介绍了IOS开发中的相对布局和绝对布局,随着手机屏幕尺寸的改变,在App开发中为了适应不同尺寸的手机屏幕,用自动布局来完成我们想要实现的功能和效果显得尤为重要.本人更喜欢使用相对布 ...

  9. canvas学习和面向对象(二)

    Canvas 学习(二) 上一篇Canvas 学习(一)中我是用canvas绘制了一些基本和组合的图形. 现在开始绘制图片和动画帧,以及面向对象的升级版本. 还是一样,看代码,所有的代码都托管在git ...

  10. ios如何在#import方面提升编译性能

    模块的使用非常简单,对于存在的工程,第一件事情就是让这个功能生效.可以在项目的Build Settings 中搜索Modules 找到这个选项,做以下的设置 默认的情况下都是开启的 对于系统自带的只需 ...