Web 分页
以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>】页   
共【<asp:Label ID="Label_max" runat="server" Text="Label"></asp:Label>】页    
<asp:LinkButton ID="LinkButton_frist" runat="server">首页</asp:LinkButton>   
<asp:LinkButton ID="LinkButton_prve" runat="server">上一页</asp:LinkButton>   
<asp:LinkButton ID="LinkButton_next" runat="server">下一页</asp:LinkButton>   
<asp:LinkButton ID="LinkButton_last" runat="server">尾页</asp:LinkButton>   
跳转到<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 分页的更多相关文章
- C# Web分页功能实现
无论是网站还是APP分页功能都是必不可少的.为什么使用分页呢? 1,加载速度快,不会占用服务器太多资源,减少服务器压力. 2,减少数据库压力. 3,提升用户体验. 那么我们常用的分页方法有两种. 1, ...
- python web 分页组件
闲来无事便写了一个易使用,易移植的Python Web分页组件.使用的技术栈是Python.Django.Bootstrap. 既然是易使用.易移植的组件,首先介绍一下其在django框架中的调用方式 ...
- [转]Oracle分页之二:自定义web分页控件的封装
本文转自:http://www.cnblogs.com/scy251147/archive/2011/04/16/2018326.html 上节中,讲述的就是Oracle存储过程分页的使用方式,但是如 ...
- python实现web分页日志查看
当我们维护一个网站时,无论前台还是后台,经常会出现各种个样的问题.有时候问题很难直观的发现,这个时候只能查看各种日志来跟踪问题.但是查看日志有各种个样的问题.首先,要用各种工具登陆到服务器,这个有时候 ...
- java web 分页实现
分页实现的效果: ///////// /////////////////////////////////////////////////////// /////////////////// ...
- java web分页查询初试
ssh2分页查询初试,放着记录学习一下. entity:student.java: package com.zte.entity; /** * 数据持久化,跟数据库的的相应的表的字段是对应的. * * ...
- web分页控件AspNetPager的使用
首先要先引用AspNetPager.dll文件 然后在<html>上面添加下面代码: <%@ Register Assembly="AspNetPager" Na ...
- web分页打印
添加css: page-break-before:always 实现分页 window.print()//实现打印
- Strut2与Hibernate的一个web分页功能
代码没有进行过多的封装,可能看起来有点action代码部分,hibernate在这里只起到了一个查询记录集的作用. import java.util.ArrayList; import java.ut ...
随机推荐
- 当我谈 "加班有罪" 我在谈什么?
前言 PS. 本文只描述IT行业. 博客园果真人气比较高,我之前准备写个 "领域驱动系列",然后感觉大家不感兴趣,看来用的人不多,所以一直没动力续,但是昨天写了 [加班有罪] (h ...
- SecureCRT使用技巧
原创文章转载请注明出处:@协思, http://zeeman.cnblogs.com 修改SecureCRT颜色配置 option->Global options –> Termina ...
- ios 避免循环引用
类似网络请求的情况下会导致循环引用,但是 如果网络请求的对象是局部变量,就必须用self,不能用weakSelf,否则,一旦当前方法所在对象销毁,那weakSelf就为空了(如果目的是这样,那就另当别 ...
- Tomcat 让百度的域名显示自己的页面内容(玩耍篇)
步骤一:在 C:\Windows\System32\drivers\etc目录下的Hosts文件中添多一个条目,如下图, 第二步:在server.xml文件中做响应配置,如下图 然后在Host节点中进 ...
- 使用HTML5的History API
HTML5 History API提供了一种功能,能让开发人员在不刷新整个页面的情况下修改站点的URL.这个功能很有用,例如通过一段JavaScript代码局部加载页面的内容,你希望通过改变当前页面的 ...
- 基于空项目模板创建使用Owin来host的WebApi项目
首先创建一个空的web项目,如下图所示: 项目创建成功以后,安装下面三个package. Install-Package Microsoft.AspNet.WebApi -Version 5.2.2I ...
- PHP运行及语句及逻辑
php开发网页需要存放在wamp根目录下的www文件夹中才可运行成功.同时wamp要处于运行状态. 无站点情况下打开方式: 网址栏中输入:localhost/文件名称 代码规范: 用 <?p ...
- Chrome开发者工具不完全指南(二、进阶篇)
上篇向大家介绍完了基础功能篇,这次分享的是Chrome开发工具中最有用的面板Sources. Sources面板几乎是我最常用到的Chrome功能面板,也是在我看来决解一般问题的主要功能面板.通常只 ...
- MongoDB 聚合操作
在MongoDB中,有两种方式计算聚合:Pipeline 和 MapReduce.Pipeline查询速度快于MapReduce,但是MapReduce的强大之处在于能够在多台Server上并行执行复 ...
- C#设计模式系列:观察者模式(Observer)
在软件构建过程中,需要为某些对象建立一种“通知依赖关系”,即一个对象的状态发生改变,所有的依赖对象都需要得到通知. 1.观察者模式简介 1.1>.定义 定义对象间的一种一对多的依赖关系,当一个对 ...