C# 带偏移量自定义分页方法
- /// <summary>
- /// 带偏移量自定义分页方法
- /// </summary>
- /// <param name="PageSize">每页条数</param>
- /// <param name="CurrentPage">当前页</param>
- /// <param name="TotalCountRecord">总条数</param>
- /// <param name="where">条件</param>
- /// <returns></returns>
- public string BuildPagers(int PageSize, int CurrentPage, int TotalCountRecord,string where)
- {
- //偏移量
- int Step = 5;
- int LeftNum = 0;//左值
- int RightNum = 0;
- string PageUrl = Request.FilePath;
- int PageCount = (int)Math.Ceiling((double)(TotalCountRecord) / PageSize); //总页数
- //当前页-步长 <1 则作值=1
- if (CurrentPage - Step < 1)
- {
- LeftNum = 1;
- }
- else
- {
- LeftNum = CurrentPage - Step;
- }
- if (CurrentPage + Step > PageCount)
- {
- RightNum = PageCount;
- }
- else
- {
- RightNum = CurrentPage + Step;
- }
- StringBuilder OutPut = new StringBuilder();
- string strUrl = "";
- for (int i = LeftNum; i <= RightNum; i++)
- {
- if (i == CurrentPage)
- {
- OutPut.Append("<font style='margin-left:3px;' color=red>");
- OutPut.Append(i.ToString());
- OutPut.Append("</font>");
- }
- else
- {
- OutPut.Append("<a style='margin-left:3px;' href='");
- OutPut.Append(PageUrl);
- OutPut.Append("?" + where + "&page=");
- OutPut.Append(i.ToString());
- // OutPut.Append(strUrl);
- OutPut.Append("'>");
- OutPut.Append(i.ToString() + " ");
- OutPut.Append("</a>");
- }
- }
- if (CurrentPage > 1)
- {
- OutPut.Insert(0, string.Format("<a href='{0}?" + where + "&page={1}{2}'>上一页</a>", PageUrl, (CurrentPage - 1), strUrl));
- }
- if (CurrentPage < PageCount)
- {
- OutPut.Append("<a href='");
- OutPut.Append(PageUrl);
- OutPut.Append("?" + where + "&page=");
- OutPut.Append(+CurrentPage + 1);
- OutPut.Append(strUrl);
- OutPut.Append("'>下一页</a></li>");
- OutPut.Append("总记录数:<font color='red'>" + TotalCountRecord + "</font> 总页数:<font color='red'>" + PageCount + "</font>");
- }
- return OutPut.ToString();
- }
- private void Bind(int Page,string where)
- {
- str = BuildPagers(16, Page, GoodsFunBLL.GetGoodsListCount(where), where);
- this.DataGoodsList.DataSource = GoodsFunBLL.GetGoodsByTypeIdList(16, Page,where);
- this.DataGoodsList.DataBind();
- }
C# 带偏移量自定义分页方法的更多相关文章
- laravel 自定义分页 offset 和 limit 的使用
laravel 本身有一个自带的快速分页方法 paginate,只需要传入每页显示多少条数据就可以 了,但是如果想使用自定义从哪里开始呢,这时候就可以使用offset 和 limit 的组合,offs ...
- Laravel 中通过自定义分页器分页方法实现伪静态分页链接以利于 SEO
我们知道,Laravel 自带的分页器方法包含 simplePaginate 和 paginate 方法,一个返回不带页码的分页链接,另一个返回带页码的分页链接,但是这两种分页链接页码都是以带问号的动 ...
- 在 Laravel 中通过自定义分页器分页方法实现伪静态分页链接以利于 SEO
我们知道,Laravel 自带的分页器方法包含 simplePaginate 和 paginate 方法,一个返回不带页码的分页链接,另一个返回带页码的分页链接,但是这两种分页链接页码都是以带问号的动 ...
- django上课笔记2-视图CBV-ORM补充-Django的自带分页-Django的自定义分页
一.视图CBV 1.urls url(r'^login.html$', views.Login.as_view()), 2.views from django.views import View cl ...
- MyBatis-编写自定义分页插件
一.基础知识 本文测试和源码分析参考版本: Mybatis-version:3.5.5 本文相关测试源代码:https://github.com/wuya11/mybatis_demo 1.1 参考方 ...
- MVC下分页的自定义分页一种实现
1.引言 在MVC开发中我们经常会对数据进行分页的展示.通过分页我们可以从服务端获取指定的数据来进行展示.这样既节约了数据库查询的时间也节约了网络传输的数据量.在MVC开发中使用的比较多的应该是MVC ...
- thinkphp自定义分页效果
TP自带了一个分页函数,挺方便使用的. 下面是我的使用方法: /*****************分页显示start*************************/ $arr_page=$this ...
- MVC3 带查询的分页Helper
接上篇mvc3 分页Helper. 带查询的分页Helper是在上一篇分页的基础上来的.下面看代码: 首先,在System.Web.Mvc命名空间下的自定义类HtmlPage下面添加一个用于处理“查询 ...
- 富文本编辑器UEditor自定义工具栏(二、插入图片、音频、视频个性化功能按钮和弹层及自定义分页符)
导读:本篇将简单探讨插入图片.音频.视频的功能按钮实现方式 传送门:富文本编辑器UEditor自定义工具栏(一.基础配置与字体.背景色.行间距.超链接实现) 一.效果图 1.UEditor自定义工具栏 ...
随机推荐
- javascript 回到顶部 动画效果
上代码: <!DOCTYPE html> <html> <head> <meta content="测试demo" name=" ...
- Canvas的drawImage方法使用
canvas是HTML5中的一个新元素,这个元素可以通过JavaScript用来绘制图形.例如可以用它来画图.合成图象.做一些动画等. 通常呢,我们在canvas上画图的方法是使用Image对象.基本 ...
- 浏览器中显示PPT的展示效果
发现了一个PPT的WEb展示的方法,在浏览器中载入PDF文件之后,可以实现基于WEB的页面展示,支持全屏与自动播放. https://sharedoc.onk.ninja/ 这不失为一种可行的方式,且 ...
- UITableView 之 点击cell 实现两个自定义cell之间的切换
- centos 手动增加swap分区
SWAP是Linux中的虚拟内存,用于扩充物理内存不足而用来存储临时数据存在的.它类似于Windows中的虚拟内存.在Windows中,只可以使用文件来当作虚拟内存.而linux可以文件或者分区来当作 ...
- centos 6.8 下安装redmine(缺陷跟踪系统)
一.实验环境 centos6.8 64位 所需安装包: ruby-2.3.4.tar.gz.rubygems-1.8.25.tgz.redmine-2.3.2.tar.gz 二.安装步骤 1.安装必要 ...
- 谷歌内核浏览器 iframe内容的 tab切换 滚动条消失
问题: 新版本的-webkit- 内核浏览器 在tab切换时,iframe 内容区 丢失滚动条 如下图 (虽然滚动条位置还在,可以垂直滚动,但滚动条不见了) 解决思路: 让iframe重新计算宽高,重 ...
- Virtualbox以及VWare在Win10下的不兼容
异常处理汇总-开发工具 http://www.cnblogs.com/dunitian/p/4522988.html Hyper原因导致的,关闭即可 禁用 hyper-vbcdedit /set h ...
- 解析JavaScript函数的多种写法
本文主要分析了JavaScript中函数的几种写法,具体如下: 1.函数的声明和表达式(旧方法,也是最常见的方法) 2.通过Function构造器 这也是一种从一开始就存在方法,但是因为书写麻烦等原因 ...
- MySQL数据库基础(四)(子查询与链接)
1.子查询简介 其中,所谓的"外层查询"并不是指"查找",指的是所有SQL语句的统称:结构化查询语言(Structured Query Language),简称 ...