.Net分页实现
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分页实现的更多相关文章
- 记一次SQLServer的分页优化兼谈谈使用Row_Number()分页存在的问题
最近有项目反应,在服务器CPU使用较高的时候,我们的事件查询页面非常的慢,查询几条记录竟然要4分钟甚至更长,而且在翻第二页的时候也是要这么多的时间,这肯定是不能接受的,也是让现场用SQLServerP ...
- js实现前端分页页码管理
用JS实现前端分页页码管理,可以很美观的区分页码显示(这也是参考大多数网站的分页页码展示),能够有很好的用户体验,这也是有业务需要就写了一下,还是新手,经验不足,欢迎指出批评! 首先先看效果图: 这是 ...
- JdbcTemplate+PageImpl实现多表分页查询
一.基础实体 @MappedSuperclass public abstract class AbsIdEntity implements Serializable { private static ...
- MVC如何使用开源分页插件shenniu.pager.js
最近比较忙,前期忙公司手机端接口项目,各种开发+调试+发布现在几乎上线无问题了:虽然公司项目忙不过在期间抽空做了两件个人觉得有意义的事情,一者使用aspnetcore开发了个人线上项目(要说线上其实只 ...
- NET Core-TagHelper实现分页标签
这里将要和大家分享的是学习总结使用TagHelper实现分页标签,之前分享过一篇使用HtmlHelper扩展了一个分页写法地址可以点击这里http://www.cnblogs.com/wangrudo ...
- 套用JQuery EasyUI列表显示数据、分页、查询
声明,本博客从csdn搬到cnblogs博客园了,以前的csdn不再更新,朋友们可以到这儿来找我的文章,更多的文章会发表,谢谢关注! 有时候闲的无聊,看到extjs那么肥大,真想把自己的项目改了,最近 ...
- php实现的分页类
php分页类文件: <?php /** file: page.class.php 完美分页类 Page */ class Page { private $total; //数据表中总记录数 pr ...
- C#关于分页显示
---<PS:本人菜鸟,大手子还请高台贵手> 以下是我今天在做分页时所遇到的一个分页显示问题,使用拼写SQL的方式写的,同类型可参考哦~ ------------------------- ...
- JAVA 分页工具类及其使用
Pager.java package pers.kangxu.datautils.common; import java.io.Serializable; import java.util.List; ...
- 分页插件--根据Bootstrap Paginator改写的js插件
刚刚出来实习,之前实习的公司有一个分页插件,和后端的数据字典约定好了的,基本上是看不到内部是怎么实现的,新公司是做WPF的,好像对于ASP.NET的东西不多,导师扔了一个小系统给我和另一个同事,指了两 ...
随机推荐
- thinphp讲解(三)——空操作、空控制器、跨控制器、命名空间
一.“空操作”本质意思:一个对象(控制器)调用本身不存在的操作方法 一般网站处于安全考虑不给用户提示任何错误信息 在tp里面控制器controller.class.php里有个_call()方法 所以 ...
- [v]Debian类系统的有效国内源
源文件的位置 /etc/apt/sources.list 因为测试需要,装完Debian7 后,更新为163的源,但是后来装软件时,一些软件依赖包还是装不上.后来把163源稍加改动,就好用了.163源 ...
- 解决PHP在IE浏览器下载文件,中文文件名乱码问题
前提:我们网站所有文件全部使用的是UTF-8 NO BOM的编码方式 1.找测试重现.360浏览器下载的呵呵,果然文件名是乱码.再请测试在ie浏览器下测试.IE9,8,7也全部是乱码.查看编码就是UT ...
- C++中关于无法解析的外部符号问题LNK2019问题的总结
网上一般有很全面的解决方法,最近恰好本道长也遇到了这种问题,也恰好解决了,这种问题应该算作配置问题,而非程序本身问题,多数是因为接手了生疏的程序导致,此问题看上去很简单,但木有经验的话很 ...
- Android中常用单位dp,px,sp之间的相互转换
MainActivity如下: package cc.testunitswitch; import android.os.Bundle; import android.util.DisplayMetr ...
- 函数后面加throw关键字
[1]为什么函数后面加throw关键字? C++函数后面加关键字throw(something)限制,是对这个函数的异常安全性作出限制. 举例及解释如下: void fun() throw() 表示f ...
- json_decode和json_encode
JSON出错:Cannot use object of type stdClass as array解决方法php再调用json_decode从字符串对象生成json对象时,如果使用[]操作符取数据, ...
- Mysql String Functions
SUBSTRING_INDEX(str,delim,count) 按标识符截取指定长度的字符串 mysql); -> 'www.mysql' mysql); -> 'mysql.com' ...
- [转]微软SerialPort秘籍[SerialPort为什么死锁程序的分析]
既然是秘籍,显然是写一些大家不常找到的,MSDN里遗漏提示大家注意的东西. 用过.net 2.0中,自带SerialPort的人,大多都遇到过.莫名其妙的执行Close的时候会死掉的问题.而Wince ...
- iOS 第一次安装应用,拒绝相机调用,页面卡死的解决方案
void (^allowBlock)() = ^{ UIImagePickerController *imagePicker = [[UIImagePickerController alloc] in ...