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网页上一页下一页翻页
这几天做项目因为数据太多,需要对信息进行上下翻页展示,就自己写了翻页的代码 大致功能就是页面只显示几条信息,按上一页.下一页切换内容,当显示第一页时上一页和首页选项不可选,当页面加载到最后一页时下一页 ...
随机推荐
- Js 时间间隔计算(间隔天数)
function GetDateDiff(startDate,endDate) { var startTime = new Date(Date.parse(startDate.replac ...
- Spring dbcp连接池简单配置 示例
一.配置db.properties属性文件 #database connection config connection.username=sa connection.password=sa conn ...
- C++中的函数指针用法
代码: #include <iostream> #include <cstdio> typedef void (*FUN)(); using namespace std; vo ...
- 美化xterm
很多软件调试时,会打开xterm,不过很难看,字体.背景等等都不好看,网上找到了一个不错的xterm的配置文件 !look and feel xterm.termName: xterm-256colo ...
- Android电子书翻页效果实现
这篇文章是在参考了别人的博客基础上,修改了其中一个翻页bug,并且加了详细注释 先看效果 其中使用了贝赛尔曲线原理,关于贝赛尔曲线的知识,推荐大家看下http://blog.csdn.net/hmg2 ...
- CSS常见BUG
CSS Hack IE条件注释: 所有IE:<!--[if IE]> css code <![endif]--> IE6以上:<!--[if gt IE 6]> c ...
- python - num1 -初识python
一.了解python python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC ...
- kafka文档翻译(一)
原文来自(http://kafka.apache.org/documentation.html) 本文只做简单的翻译,水平有限,仅供学习交流使用 如有错误,欢迎点评指正 1 准备开始 1.1 介绍 ...
- Django的 select_related 和 prefetch_related 函数对 QuerySet 查询的优化(一)
在数据库有外键的时候,使用 select_related() 和 prefetch_related() 可以很好的减少数据库请求的次数,从而提高性能.本文通过一个简单的例子详解这两个函数的作用.虽然Q ...
- HTML中select标签单选多选详解
select 元素可创建单选或多选菜单.当提交表单时,浏览器会提交选定的项目,或者收集用逗号分隔的多个选项,将其合成一个单独的参数列表,并且在将 <select> 表单数据提交给服务器时包 ...