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自定义工具栏 ...
随机推荐
- Eclipse的调试功能的10个小窍门[转]
原文链接:http://www.importnew.com/6164.html 你可能已经看过一些类似“关于调试的N件事”的文章了.但我想我每天大概在调试上会花掉1个小时,这是非常多的时间了.所以非常 ...
- POJ3155 Hard Life [最大密度子图]
题意:最大密度子图 #include<iostream> #include<cstdio> #include<cstring> #include<algo ...
- C#实现航班查询及预订
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using Sy ...
- PHP中的错误处理机制
常见的三种错误: 1.Notice :通知性错误,最小的错误,当发生通知性错误时,会弹出一个提示信息.不会中断代码的执行. 错误代码: #例如Notice: 2.Warning:警告性错误,当发生警告 ...
- mongoDB高级查询$type4array使用解析
今天在使用mongoDB高级查询$type:符号 -- 4代指Array类型发现一个问题. $type符号: $type操作符是基于BSON类型来检索集合中匹配的数据类型,并返回结果. 下面是mong ...
- XAMPP简介、安转、使用
虽然没有写Mac安装方法及使用, 但方法也都大相径庭, 殊途同归而已. XAMPP简介 XAMPP是一款开源.免费的网络服务器软件,经过简单安装后,就可以在个人电脑上搭建服务器环境.本文为大家介绍Wi ...
- RTLabel 的简单使用
RTLabel 基于富文本的格式,适用于iOS,类似HTML的标记. RTLabel 基于UILabel类的拓展,能够支持Html标记的富文本显示,它是基于Core Text,因此也支持Core Te ...
- Mysql(一):初识数据库
一 数据库管理软件的由来 基于我们之前所学,数据要想永久保存,都是保存于文件中,毫无疑问,一个文件仅仅只能存在于某一台机器上. 如果我们暂且忽略直接基于文件来存取数据的效率问题,并且假设程序所有的组件 ...
- 【学习笔记】Spring中的BeanFactory和ApplicationContext 以及 Bean的生命周期(Y2-3-2)
BeanFactory和ApplicationContext Spring的IoC容器就是一个实现了BeanFactory接口的可实例化类. Spring提供了两种不同的容器: 一种是最基本的Bean ...
- Java经典编程题50道之十六
输出九九乘法表. public class Example16 { public static void main(String[] args) { table(9); } ...