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 ...
随机推荐
- SQL Server通过File Header Page来进行Crash Recovery
SQL Server通过File Header Page来进行Crash Recovery 看了盖总的一篇文章 http://www.eygle.com/archives/2008/11/oracle ...
- ASP.NET Core 数据保护(Data Protection)【上】
前言 上一篇博客记录了如何在 Kestrel 中使用 HTTPS(SSL), 也是我们目前项目中实际使用到的. 数据安全往往是开发人员很容易忽略的一个部分,包括我自己.近两年业内也出现了很多因为安全问 ...
- CSS3魔法堂:CSS3滤镜及Canvas、SVG和IE滤镜替代方案详解
一.前言 IE特有的滤镜常常作为CSS3各种新特性的降级处理补充,而Adobe转向HTML5后与Chrome合作推出CSS3的Filter特性,因此当前仅Webkit内核的浏览器支持CSS3 F ...
- 不要对外公开泛型List成员
最近在阅读Framework Design Guidelines,本着现学现用的原则,于是就用FxCop工具对代码进行规范性检查时,发现了很多问题,其中包括命名以及一些设计上的规范. 其中,Do no ...
- SQL Server 查询分解
标签:SQL SERVER/MSSQL SERVER/数据库/DBA/查询步骤 概述 查询步骤是很基础也挺重要的一部分,但是我还是在周围发现有些人虽然会语法,但是对于其中的步骤不是很清楚,这里就来分解 ...
- iOS开发-应用崩溃日志揭秘(一)
作为一名应用开发者,你是否有过如下经历? 为确保你的应用正确无误,在将其提交到应用商店之前,你必定进行了大量的测试工作.它在你的设备上也运行得很好,但是,上了应用商店后,还是有用户抱怨会闪退 ! 如果 ...
- js中的块作用域
今天我们来一起研究下JavaScript中的变量作用域问题,话不多说,直接上代码. <script type="text/javascript"> (function( ...
- java轻量级IOC框架Guice
Google-Guice入门介绍(较为清晰的说明了流程):http://blog.csdn.net/derekjiang/article/details/7231490 使用Guice,需要添加第三方 ...
- c#属性中的get和set属性
get是给属性赋值,set是取属性的值. get.set用法: 一是隐藏组件或类内部的真是成员: 二是用来建立约束的,比如,实现“有我没你”这种约束: 三是用来响应属性变化事件,当属性变化是做某事,只 ...
- Maven配置Nexus私服
官方文档:http://books.sonatype.com/nexus-book/3.0/reference/maven.html#maven-sect-single-group 1,下载安装 首先 ...