ASP.net分页实现

  1 public partial class _Default : System.Web.UI.Page
  2 {
  3     private mydbDataContext _context = new mydbDataContext();//建立连接
  4     private const int PAGESIZE = 3;//定义每页大小为三个
  5
  6     //取得分页信息************重要***********
  7     public List<Car> GetPageCar(int pageNo)
  8     {
  9         var query = _context.Car.Skip(PAGESIZE * (pageNo - 1)).Take(PAGESIZE);
 10         return query.ToList();
 11     }
 12
 13     //获取总页数************重要***********
 14     public int GetPageCount()
 15     {
 16         int rowsCount = _context.Car.Count();//获得总行数
 17         int pageCount = (int)Math.Ceiling(1.0 * rowsCount / PAGESIZE);
 18         return pageCount;
 19     }
 20
 21
 22     protected void Page_Load(object sender, EventArgs e)
 23     {
 24         int nowPage =1;//初始页为1
 25         if (Request["pageno"]!=null)//第一次打开pageno为空,当不为空的时候就给nowpage赋值
 26         {
 27             nowPage = Convert.ToInt32(Request["pageno"]);
 28         }
 29         //显示列表中的信息
 30         ShowPageCars(nowPage);
 31
 32         //显示上一页下一页的数据,首页和尾页
 33         ShowPrevNextLink(nowPage);
 34
 35     }
 36
 37     //显示上一页下一页首页尾页信息
 38     private void ShowPrevNextLink(int nowPage)
 39     {
 40         //给上一页,下一页数据
 41         int pageCount = GetPageCount();
 42         //控制下一页连接
 43         if (nowPage == pageCount)
 44         {
 45             linkNext.Enabled = false;
 46             linkLast.Enabled = false;
 47         }
 48         else
 49         {
 50             linkNext.Enabled = true;
 51             linkLast.Enabled = true;
 52             linkNext.NavigateUrl = "Default.aspx?pageno=" + (nowPage + 1).ToString();
 53             //控制尾页
 54             linkLast.NavigateUrl = "Default.aspx?pageno=" + pageCount;
 55         }
 56         //控制上一页连接
 57         if (nowPage == 1)
 58         {
 59             linkPrev.Enabled = false;
 60             linkFrist.Enabled = false;
 61         }
 62         else
 63         {
 64             linkPrev.Enabled = true;
 65             linkFrist.Enabled = true;
 66             linkPrev.NavigateUrl = "Default.aspx?pageno=" + (nowPage - 1).ToString();
 67             //控制首页连接
 68             linkFrist.NavigateUrl = "Default.aspx?pageno=1";
 69         }
 70     }
 71
 72     //显示列表信息
 73     private void ShowPageCars(int nowPage)
 74     {
 75         List<Car> list = GetPageCar(nowPage);
 76         //给Repeater数据
 77         Repeater1.DataSource = list;
 78         Repeater1.DataBind();
 79     }
 80
 81     //跳转
 82     protected void btnGo_Click(object sender, EventArgs e)
 83     {
 84         if (txtPageNO.Text == "")
 85         {
 86
 87         }
 88         else
 89         {
 90             int goNo = Convert.ToInt32(txtPageNO.Text);
 91             if (goNo < 1)
 92             {
 93                 Response.Redirect("Default.aspx");
 94             }
 95             else if (goNo > GetPageCount())
 96             {
 97                 Response.Redirect("Default.aspx?pageno=" + GetPageCount());
 98             }
 99             else
100             {
101                 Response.Redirect("Default.aspx?pageno=" + goNo);
102             }
103         }
104     }
105 }

效果图如下

首页(name): linkFirst

上一页(name):linkPrev

下一页(name):,linkNext

尾页(name):linkLast

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

文本框(name):txtPageNo

跳转按钮(name):btnGo

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

时间: 2024-08-10 21:21:07

ASP.net分页实现的相关文章

asp.net分页控件使用详解【附实例下载】

本篇文章主要对asp.net创建事务的方法进行实例介绍,具有很好的参考价值,需要的朋友一起来看下吧 一.说明 AspNetPager.dll这个分页控件主要用于asp.net webform网站,现将整理代码如下 二.代码 1.首先在测试页面Default.aspx页面添加引用 <%@ Register Assembly="AspNetPager" Namespace="Wuqi.Webdiyer" TagPrefix="webdiyer"

ASP经典分页类

================================================================= 'XDOWNPAGE ASP版本 '版本 1.00 'Code by zykj2000 'Email: [email protected] 'BBS: http://bbs.513soft.net '本程序可以免费使用.修改,希望我的程序能为您的工作带来方便 '但请保留以上请息 ' '程序特点 '本程序主要是对数据分页的部分进行了封装,而数据显示部份完全由用户自定义

ASP.NET 分页

关于分页在各个系统里都会用到,在此,就分页的各种方法做下总结. ASP.NET 分页,布布扣,bubuko.com

asp.net分页

1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Web; 5 using System.Web.UI; 6 using System.Web.UI.WebControls; 7 8 namespace WebApp 9 { 10 public partial class DataListWeb : System.Web.UI.Page 11 { 12 13 BLL.Ma

asp.net 分页-自己写分页控件

去年就发表过asp.net 分页-利用后台直接生成html分页 ,那种方法只是单纯的实现了分页,基本不能使用,那时就想写个自己的分页控件,无奈能力有限.最近有点时间了,就自己做出了这个分页控件.我承认,这个控件参考了别人的,但是其实里面的原理都相同,差异只是展现方式而已. 去年就在做一个自己的后台系统,刚开始用的asp.net,做了一部分就没有做了,因为缺少权限控制类别.后面转为用asp.net mvc4做,也只是做了一部分,觉得不太方便,也许是我不太会用.再用ajax+ashx做了一部分,虽然

asp.net分页控件CSS

.aspx代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Sample3_DataPager.aspx.cs" Inherits="Sample_03_DataPager" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "

AJAX 分页 asp.net分页

原文链接:http://www.cnblogs.com/chenping-987123/archive/2011/02/14/1954640.html 查询功能是开发中最重要的一个功能,大量数据的显示,我们用的最多的就是分页. 在ASP.NET 中有很多数据展现的控件,比如Repeater.GridView,用的最多的GridView,它同时也自带了分页的功能.但是我们知道用GridView来显示数据,如果没有禁用ViewState,页面的大小会是非常的大的.而且平时我们点击首页,下一页,上一页

ASP.NETMVC 分页功能

[转]  :ASP.NET MVC5 PagedList分页示例  此处详细示例 使用 PageList.MVC 程序包,  使用NuGet 安装下, 在Controller中部分重要代码: public ActionResult Index(int? page) /// 表示第几页 { var ActivityList = db.Activitys.OrderByDescending(d => d.ActivityId).ToList(); int pageNumber = page ?? 1

【asp.net爬虫】asp.NET分页控件抓取第n页数据 javascript:__doPostBack

最近在模拟HTTP请求抓取数据,但是服务器是asp.net开发的 分页控件代码 <tr> <td align="left">共&nbsp210&nbsp条记录&nbsp--&nbsp第&nbsp2&nbsp页&nbsp--&nbsp共&nbsp3&nbsp页</td><td align="right"><a id="Orac

ASP.NET 分页+组合查询 练习

分页和组合查询都是通过拼接SQL语句到数据库查询进行实现 到汽车表(car)中查询 ,汽车表选取了“编号 code”,“车名 name”,“日期 time”,“油耗 oil ”,“马力 powers”这几列 分页查询语句:每页只显示五条数据 查询前五条数据: select top 5 from car 点击下一页按钮:select top 5 from car where code not in(select top 5 code from car)//第二页的时候通过编号,查询前五条之后的数据