Web 上一页下一页 用超链接 用按钮

方法一超链接

Default.aspx.cs html代码*************************************************************************************
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Repeater ID="Repeater1" runat="server">
<HeaderTemplate><ul></HeaderTemplate>
<FooterTemplate></ul></FooterTemplate>
<ItemTemplate>
<li><%# Eval("Name") %></li>
</ItemTemplate>
</asp:Repeater>
</div>
<a href="Default.aspx" runat="server" id="lnkPrev">
<input id="Button1" type="button" value="上一页" /></a>
<a href="Default.aspx" runat="server" id="lnkNext">
<input id="Button2" type="button" value="下一页" /></a>
</form>
</body>
</html>
HTML
C#代码*************************************************************************************
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls; public partial class _Default : System.Web.UI.Page
{
private MyDBDataContext _Context = new MyDBDataContext();
private const int PAGESIZE = ;
private int _PageNo = ; //当前的页号
//获取总页数
public int GetPageCount()
{
//取总行数
int rowsCount = _Context.Car.Count();
//算出总页数
int pageCount = (int)Math.Ceiling( 1.0*rowsCount / PAGESIZE); return pageCount;
}
public List<Car> GetPagedCar()
{
var query = _Context.Car.Skip(PAGESIZE*(_PageNo-)).Take(PAGESIZE);
return query.ToList();
} protected void Page_Load(object sender, EventArgs e)//加载页面
{
if (!IsPostBack)
{
if (Request["pn"] != null)
{
_PageNo = Convert.ToInt32(Request["pn"]);
}
Repeater1.DataSource = GetPagedCar();
Repeater1.DataBind(); if (_PageNo == )//如果是第一页
{
lnkPrev.HRef = "Default.aspx?pn=1";//链接到第一页
}
else
{
lnkPrev.HRef = "Default.aspx?pn=" + (_PageNo - ).ToString();//如果不是-1
}
if (_PageNo == GetPageCount())//下一页等于获得的页面
{
lnkNext.HRef = "Default.aspx?pn=" + GetPageCount().ToString();
}
else
{
lnkNext.HRef = "Default.aspx?pn=" + (_PageNo + ).ToString();//否则+1
} }
}
}
C#代码

Default2.aspx.cs html代码*************************************************************************************
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Repeater ID="Repeater1" runat="server">
<HeaderTemplate><ul></HeaderTemplate>
<FooterTemplate></ul></FooterTemplate>
<ItemTemplate>
<li><%# Eval("Name") %></li>
</ItemTemplate>
</asp:Repeater>
</div>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="上一页" />
<asp:Button ID="Button2" runat="server" OnClick="Button2_Click" Text="下一页" />
<asp:DropDownList ID="PageList" runat="server" AutoPostBack="True" OnSelectedIndexChanged="PageList_SelectedIndexChanged">
</asp:DropDownList>
一共<asp:Label ID="lblAll" runat="server" Font-Bold="True" ForeColor="Red"></asp:Label>
页,当前是第<asp:Label ID="lblNow" runat="server" Font-Bold="True" ForeColor="Red"></asp:Label>
页</form>
</body>
</html>
HTML代码
C#代码*************************************************************************************
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls; public partial class Default2 : System.Web.UI.Page
{
private MyDBDataContext _Context = new MyDBDataContext();
private const int PAGESIZE = ;
private int _PageNo = ; //当前的页号
//获取总页数
public int GetPageCount()
{
//取总行数
int rowsCount = _Context.Car.Count();
//算出总页数
int pageCount = (int)Math.Ceiling(1.0 * rowsCount / PAGESIZE); return pageCount;
}
public List<Car> GetPagedCar()
{
_PageNo = Convert.ToInt32( PageList.SelectedValue);
var query = _Context.Car.Skip(PAGESIZE * (_PageNo - )).Take(PAGESIZE);
return query.ToList();
} protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
FillPageList();
ShowCars();
}
} private void ShowCars()
{
Repeater1.DataSource = GetPagedCar();
Repeater1.DataBind(); //给当前页和一共几页赋值
lblNow.Text = PageList.SelectedValue;
lblAll.Text = PageList.Items.Count.ToString();
} private void FillPageList()
{
PageList.Items.Clear(); int pageCount = GetPageCount();
for (int i = ; i <= pageCount; i++)
{
ListItem li = new ListItem(i.ToString(), i.ToString());
PageList.Items.Add(li);
}
}
protected void PageList_SelectedIndexChanged(object sender, EventArgs e)
{
ShowCars();
}
protected void Button1_Click(object sender, EventArgs e)
{
if (PageList.SelectedIndex == )
{
return;
}
PageList.SelectedIndex--;
ShowCars();
}
protected void Button2_Click(object sender, EventArgs e)
{
if (PageList.SelectedIndex == GetPageCount() - )
{
return;
} PageList.SelectedIndex++;
ShowCars();
}
}
C#代码
Web 上一页下一页 用超链接 用按钮的更多相关文章
- Unity上一页下一页切换功能实现源码(仅供参考)
在做项目时我们有时需要实现切换上一页下一页图片,切换上一首下一首歌曲等等类似的功能.这里写了个简单的实现源码(仅供参考),要是有更好的方法欢迎提出来,共同进步~ 以切换上一页下一页图片为例: usin ...
- css -- 映像 ,分页(上一页下一页)
1.映像:-webkit-box-reflect:blow 2px -webkit-gradient( linear, left top, left bottom, from(transparent) ...
- eayUi panel实现上一页下一页
function 是为了第一次加载的时候显示页面 butt1和butt2触发上一页下一页,后面绑定参数即可 问题:.panel({href:href})到后台的时候会请求两次,这个问题还没有解决 把 ...
- Android ListView上拉获取下一页
关于ListView上拉刷新的需求很多,实现方式也多种多样. 一般是简单的通过一个page变量来控制当前请求的页数,然后上拉的时候就发送请求. 实现出来后,经过测试哥的折腾,发现有诸多细节没有处理好, ...
- GridView利用PagerTemplate做分页显示设置上一页下一页转到下拉转页
效果如图: 代码如下: aspx页: <asp:GridView ID="GridViewMain" runat="server" OnPageIndex ...
- C# Winform学习---MDI窗体的设计,PictureBox控件(图片上一页下一页),Timer控件,MenuStrip控件
一.MDI窗体的设计 1.MDI简介 MDI(Multiple Document Interface)就是所谓的多文档界面,与此对应就有单文档界面 (SDI), 它是微软公司从Windows 2.0下 ...
- jsp实现上一页下一页翻页功能
前段时间一直忙于期末考试和找实习,好久没写博客了. 这段时间做了个小项目,包含了翻页和富文本编辑器Ueditor的两个知识点,Ueditor玩的还不是很深,打算玩深后再写篇博客. 要实现翻页功能,只需 ...
- jquery实现上一页下一页
注:文章转载于肖肖的博客: 简单说一下思路:就是把每个页面都用position:absolute的属性使每个页面都从叠在一起.然后通过$().hide()隐藏和$().show()显示.点击当前页中的 ...
- php网页上一页下一页翻页
这几天做项目因为数据太多,需要对信息进行上下翻页展示,就自己写了翻页的代码 大致功能就是页面只显示几条信息,按上一页.下一页切换内容,当显示第一页时上一页和首页选项不可选,当页面加载到最后一页时下一页 ...
随机推荐
- BZOJ 1003 物流运输 (动态规划 SPFA 最短路)
1003: [ZJOI2006]物流运输 Time Limit: 10 Sec Memory Limit: 162 MB Submit: 5590 Solved: 2293 [Submit][Stat ...
- Go学习笔记(一):Ubuntu 环境下Go的安装
本文是根据<Go Web 编程>,逐步学习 Ubuntu 环境下go的安装的笔记. <Go Web 编程>的URL地址如下: https://github.com/astaxi ...
- I/O复用-epoll模型
epoll函数 epoll函数的使用与select.poll上有很大的差异. epoll使用一组函数来完成任务,而不是单个函数. epoll把用户关心的文件描述符上的事件放在内核里的一个事件表中,从而 ...
- 使用 OpenWrt Image Generator 为 WR703N 路由器定制固件
标题:使用 OpenWrt Image Generator 为 WR703N 路由器定制固件 之前试着自己编译固件,编译是成功了,但是在后期安装官方仓库的ipk时出现问题,因为自己编译的固件和官方固件 ...
- Javascript个人理解
一. 生成对象的原始模式 假定我们把猫看成一个对象,它有"名字"和"颜色"两个属性. var Cat = { name : '', color : '' } 现 ...
- JDK Windows环境配置
[CLASSPATH] .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar [JAVA_HOME] D:\Java\jdk1.8.0_11 [Path] %JAVA ...
- 转载收藏之用 - 微信公众平台开发教程(五):使用Senparc.Weixin.MP SDK
Senparc.Weixin.MP SDK已经涵盖了微信5.0的所有公共API,以及2013年10月29日升级之后大部分实用的接口. 整个项目的源代码以及已经编译好的程序集可以在这个项目中获取到:ht ...
- 优化C#程序的48种方法
一.用属性代替可访问的字段 1..NET数据绑定只支持数据绑定,使用属性可以获得数据绑定的好处: 2.在属性的get和set访问器重可使用lock添加多线程的支持. 二.readonly(运行时常量) ...
- poj 2481 Cows(数状数组 或 线段树)
题意:对于两个区间,[si,ei] 和 [sj,ej],若 si <= sj and ei >= ej and ei - si > ej - sj 则说明区间 [si,ei] 比 [ ...
- uva10245-The Closest Pair Problem(平面上的点分治)
解析:平面上的点分治,先递归得到左右子区间的最小值d,再处理改区间,肯定不会考虑哪些距离已经大于d的点对,对y坐标归并排序,然后从小到大开始枚举更新d,对于某个点,x轴方向只用考虑[x-d,x+d]( ...