#region 分页
/// <summary>
/// 分页
/// </summary>
/// <param name="page">当前页</param>
/// <param name="count">总数</param>
/// <param name="comurl">组合连接段</param>
/// <param name="prev">页数省略前置个数</param>
/// <param name="next">页数省略后置个数</param>
/// <returns>分页html字符串</returns>
public static string orderPage(int page, int count, string comurl, int prev, int next)
{
StringBuilder strPageHtml = new StringBuilder();
bool preflag = true;
bool nextflag = true;
for (int i = ; i <= count; i++)
{
//上一页
if (i == && page == )
{
strPageHtml.Append("<span class=\"disabled\"> < </span>");
}
else if(i== && page>)
{
strPageHtml.Append("<a href=\"?page=" + (page - ) + comurl + "\"> < </a>");
} //是否为当前页
if (count > ) //大于15则显示省略号
{
if (page == i)
{
strPageHtml.Append("<span class=\"current\">" + i + "</span>\n");
}
else
{
if (i > page) //一、处理当前页后面的页数
{
if (i - page > ) //保留当前页下有两页可选
{
if (count - i < next) //省略号后可选页
{
strPageHtml.Append("<a href=\"?page=" + i + comurl + "\">" + i + "</a>\n");
}
else
{
if (preflag == true)
{
strPageHtml.Append(" … ");
preflag = false;
}
}
}
else
{
strPageHtml.Append("<a href=\"?page=" + i + comurl + "\">" + i + "</a>\n");
}
}
else if (i < page) //二、处理当前页前面的页数
{
if (i > prev) //当前页前页数大于前置参数的页数
{
if (page - i > ) //保留当前页上有两页可选
{
if (nextflag==true)
{
strPageHtml.Append(" … ");
nextflag = false;
}
}
else
{
strPageHtml.Append("<a href=\"?page=" + i + comurl + "\">" + i + "</a>\n");
}
}
else
{
strPageHtml.Append("<a href=\"?page=" + i + comurl + "\">" + i + "</a>\n");
}
}
}
}
else
{
if (page == i)
{
strPageHtml.Append("<span class=\"current\">" + i + "</span>\n");
}
else
{
strPageHtml.Append("<a href=\"?page=" + i + comurl + "\">" + i + "</a>\n");
}
} //下一页
if (i == count && page == count)
{
strPageHtml.Append("<span class=\"disabled\"> > </span>");
}
else if (i == count && page < count)
{
strPageHtml.Append("<a href=\"?page=" + (page + ) + comurl + "\"> > </a>");
}
}
return strPageHtml.ToString();
}
#endregion
/**分页**/
.tr_page{ background:white;}
div.yellow{padding:7px;margin:3px;text-align:center;}
div.yellow a{border:#ccc 1px solid;padding:2px 5px;margin:2px;color:#;text-decoration:none;}
div.yellow a:hover{border:#f0f0f0 1px solid;color:#;}
div.yellow a:active{border:#f0f0f0 1px solid;color:#;}
div.yellow span.current{border:#d9d300 1px solid;padding:2px 5px;font-weight:bold;margin:2px;color:#fff;background-color:#d9d300;}
div.yellow span.disabled{border:#eee 1px solid;padding:2px 5px;margin:2px;color:#ddd;}

样式

<p>
<div class="yellow" runat="server" id="yellowpage"> </div>
</p>

标签

yellowpage.InnerHtml=orderPage(page,forNum,"",,);

调用

C# 分页的更多相关文章

  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. 【Xamarin挖墙脚系列:Xamarin.Android的API设计准则】

    原文:[Xamarin挖墙脚系列:Xamarin.Android的API设计准则] 前言 楼主也是看着Xamarin的官方文档来的.基本也是照猫画虎.英语勉强凑合.翻译的不对的地方,大家多多指教.(这 ...

  2. 【Xamarin开发 Android 系列 7】 Android 结构基础(下)

    原文:[Xamarin开发 Android 系列 7] Android 结构基础(下) *******前期我们不打算进行太深入的东西,省的吓跑刚进门的,感觉门槛高,so,我们一开始就是跑马灯一样,向前 ...

  3. oracle的sqlnet.ora , tnsnames.ora , Listener.ora 文件的作用(转)

    oracle网络配置三个配置文件 listener.ora.sqlnet.ora.tnsnames.ora ,都是放在$ORACLE_HOME/network/admin目录下.1. sqlnet.o ...

  4. 【HDOJ】3726 Graph and Queries

    Treap的基础题目,Treap是个挺不错的数据结构. /* */ #include <iostream> #include <string> #include <map ...

  5. wikioi 1514 and ZJOI2006 书架

    1514 书架 0人推荐 收藏 发题解 提交代码 报错 题目描述 输入描述 输出描述 样例输入 样例输出 提示 题目描述 Description 小 T有一个很大的书柜.这个书柜的构造有些独特,即书柜 ...

  6. 【Node】SuperAgent

    What is the current mechanism to construct a query string with SuperAgent?http://stackoverflow.com/q ...

  7. Asp.Net 前后台交互小结

    转自:http://blog.csdn.net/wlccomeon/article/details/17270427 一.前台调用后台           前台调用后台的方法一共可分为两大类:使用Ht ...

  8. C# 客户端判断是否安装office03、07或WPS

    using Microsoft.Office.Interop.Excel;//转换为excel时,对比一下c#.需要引用此命名空间 using ET;//转换为wps时,相比看.需要引用此命名空间us ...

  9. leecode 排列的学习

    前面写过3个排列.这里再写一次. 1.全部都不重复https://oj.leetcode.com/problems/permutations/ (使用交换法)只是本人对c++ stl不熟,不会把排列结 ...

  10. 如何在 Linux 终端下创建新的文件系统/分区

    在 Linux 中创建分区或新的文件系统通常意味着一件事:安装 Gnome Parted 分区编辑器(GParted).对于大多数 Linux 用户而言,这是唯一的办法.不过,你是否考虑过在终端创建这 ...