public partial class _Default : System.Web.UI.Page
{
private mydbDataContext _context = new mydbDataContext();//建立连接
private const int PAGESIZE = ;//定义每页大小为三个 //取得分页信息************重要***********
public List<Car> GetPageCar(int pageNo)
{
var query = _context.Car.Skip(PAGESIZE * (pageNo - )).Take(PAGESIZE);
return query.ToList();
} //获取总页数************重要***********
public int GetPageCount()
{
int rowsCount = _context.Car.Count();//获得总行数
int pageCount = (int)Math.Ceiling(1.0 * rowsCount / PAGESIZE);
return pageCount;
} protected void Page_Load(object sender, EventArgs e)
{
int nowPage =;//初始页为1
if (Request["pageno"]!=null)//第一次打开pageno为空,当不为空的时候就给nowpage赋值
{
nowPage = Convert.ToInt32(Request["pageno"]);
}
//显示列表中的信息
ShowPageCars(nowPage); //显示上一页下一页的数据,首页和尾页
ShowPrevNextLink(nowPage); } //显示上一页下一页首页尾页信息
private void ShowPrevNextLink(int nowPage)
{
//给上一页,下一页数据
int pageCount = GetPageCount();
//控制下一页连接
if (nowPage == pageCount)
{
linkNext.Enabled = false;
linkLast.Enabled = false;
}
else
{
linkNext.Enabled = true;
linkLast.Enabled = true;
linkNext.NavigateUrl = "Default.aspx?pageno=" + (nowPage + ).ToString();
//控制尾页
linkLast.NavigateUrl = "Default.aspx?pageno=" + pageCount;
}
//控制上一页连接
if (nowPage == )
{
linkPrev.Enabled = false;
linkFrist.Enabled = false;
}
else
{
linkPrev.Enabled = true;
linkFrist.Enabled = true;
linkPrev.NavigateUrl = "Default.aspx?pageno=" + (nowPage - ).ToString();
//控制首页连接
linkFrist.NavigateUrl = "Default.aspx?pageno=1";
}
} //显示列表信息
private void ShowPageCars(int nowPage)
{
List<Car> list = GetPageCar(nowPage);
//给Repeater数据
Repeater1.DataSource = list;
Repeater1.DataBind();
} //跳转
protected void btnGo_Click(object sender, EventArgs e)
{
if (txtPageNO.Text == "")
{ }
else
{
int goNo = Convert.ToInt32(txtPageNO.Text);
if (goNo < )
{
Response.Redirect("Default.aspx");
}
else if (goNo > GetPageCount())
{
Response.Redirect("Default.aspx?pageno=" + GetPageCount());
}
else
{
Response.Redirect("Default.aspx?pageno=" + goNo);
}
}
}
}

效果图如下

首页(name): linkFirst

上一页(name):linkPrev

下一页(name):,linkNext

尾页(name):linkLast

以上都是HyperLink控件(超链接)

文本框(name):txtPageNo

跳转按钮(name):btnGo

分页问题,每次点击页面都将从新加载.可考虑Ajax优化

.Net分页实现的更多相关文章

  1. 记一次SQLServer的分页优化兼谈谈使用Row_Number()分页存在的问题

    最近有项目反应,在服务器CPU使用较高的时候,我们的事件查询页面非常的慢,查询几条记录竟然要4分钟甚至更长,而且在翻第二页的时候也是要这么多的时间,这肯定是不能接受的,也是让现场用SQLServerP ...

  2. js实现前端分页页码管理

    用JS实现前端分页页码管理,可以很美观的区分页码显示(这也是参考大多数网站的分页页码展示),能够有很好的用户体验,这也是有业务需要就写了一下,还是新手,经验不足,欢迎指出批评! 首先先看效果图: 这是 ...

  3. JdbcTemplate+PageImpl实现多表分页查询

    一.基础实体 @MappedSuperclass public abstract class AbsIdEntity implements Serializable { private static ...

  4. MVC如何使用开源分页插件shenniu.pager.js

    最近比较忙,前期忙公司手机端接口项目,各种开发+调试+发布现在几乎上线无问题了:虽然公司项目忙不过在期间抽空做了两件个人觉得有意义的事情,一者使用aspnetcore开发了个人线上项目(要说线上其实只 ...

  5. NET Core-TagHelper实现分页标签

    这里将要和大家分享的是学习总结使用TagHelper实现分页标签,之前分享过一篇使用HtmlHelper扩展了一个分页写法地址可以点击这里http://www.cnblogs.com/wangrudo ...

  6. 套用JQuery EasyUI列表显示数据、分页、查询

    声明,本博客从csdn搬到cnblogs博客园了,以前的csdn不再更新,朋友们可以到这儿来找我的文章,更多的文章会发表,谢谢关注! 有时候闲的无聊,看到extjs那么肥大,真想把自己的项目改了,最近 ...

  7. php实现的分页类

    php分页类文件: <?php /** file: page.class.php 完美分页类 Page */ class Page { private $total; //数据表中总记录数 pr ...

  8. C#关于分页显示

    ---<PS:本人菜鸟,大手子还请高台贵手> 以下是我今天在做分页时所遇到的一个分页显示问题,使用拼写SQL的方式写的,同类型可参考哦~ ------------------------- ...

  9. JAVA 分页工具类及其使用

    Pager.java package pers.kangxu.datautils.common; import java.io.Serializable; import java.util.List; ...

  10. 分页插件--根据Bootstrap Paginator改写的js插件

    刚刚出来实习,之前实习的公司有一个分页插件,和后端的数据字典约定好了的,基本上是看不到内部是怎么实现的,新公司是做WPF的,好像对于ASP.NET的东西不多,导师扔了一个小系统给我和另一个同事,指了两 ...

随机推荐

  1. 08---Net基础加强

    资料管理器作业 public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void F ...

  2. SQL —— 视图

    1. 为什么使用视图 1) 提高数据的安全型,不同权限的用户可以查看数据的不同. 2) 符合用户日常业务逻辑 2. 什么是视图 视图是一种查看数据库中一个或多个表中的数据的方法. 视图是一种虚拟表. ...

  3. 创建DirectInput接口对象说明---(void **)&m_pDI

    读别人代码时遇到的,起初没明白过来这是怎么回事,后来忽然想明白了. if (FAILED(DirectInput8Create(appInstance, DIRECTINPUT_VERSION, II ...

  4. 前端框架与UI搭配

    如果是 Angular 那就选 Ionic (一对好 CP)如果是 Vue 那就选 Vux (基于 WeUI)如果是 jQuery 那就选 Framework7 (iOS 和 Android 双皮肤) ...

  5. SlidingMenu实现app侧滑功能

    很多APP都有侧滑菜单的功能,部分APP左右都是侧滑菜单~SlidingMenu 这个开源项目可以很好帮助我们实现侧滑功能,如果对SlidingMenu 还不是很了解的童鞋,可以参考下本篇博客. 本片 ...

  6. 记录下标准网线水晶头的做法 100m/1G

    注意, 网线分平行线(也叫直连线)和交叉线.  用法见下图 .也就是相同层内用交叉线, 不同层用平行线.  所以两台电脑,两台非级联并行的路由才用交叉线,一般我们都用平行线即可. 千兆网和百兆网不同: ...

  7. 空格和TAB键混用错误:IndentationError: unindent does not match any outer indentation level

    转自:http://www.crifan.com/python_syntax_error_indentationerror/comment-page-1/ [已解决]Python脚本运行出现语法错误: ...

  8. redis监控状态

    Redis介绍 Redis是一种高级key-value数据库.它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富.有字符串,链表.哈希.集合和有序集合5种.支持在服务器端计算集合 ...

  9. (转载)PERL 处理CSV

    #!/usr/bin/perl#use strict;open(FILE1,"C:/Perl/BX/BX-Users.csv");open(FILE2,"C:/Perl/ ...

  10. 未知的系统错误(The transaction is no longer active - status: 'Committed'. No further JDBC access is allowed within this transaction.)

    被调用接口处理并发能力太脆弱导致的问题. 重新请求下即可.