using System;
using System.Text;

namespace WebDemo.Common
{
public class LaomaPager
{
/// <summary>
///
/// </summary>
/// <param name="pageSize">一页多少条</param>
/// <param name="currentPage">当前页</param>
/// <param name="totalCount">总条数</param>
/// <returns></returns>
public static string ShowPageNavigate(int pageSize, int currentPage, int totalCount)
{
string redirectTo = "";
pageSize = pageSize == 0 ? 3 : pageSize;
var totalPages = Math.Max((totalCount + pageSize - 1) / pageSize, 1); //总页数
var output = new StringBuilder();
if (totalPages > 1)
{
if (currentPage != 1)
{//处理首页连接
output.AppendFormat("<a class='pageLink' href='{0}?pageIndex=1&pageSize={1}'>首页</a> ", redirectTo, pageSize);
}
if (currentPage > 1)
{//处理上一页的连接
output.AppendFormat("<a class='pageLink' href='{0}?pageIndex={1}&pageSize={2}'>上一页</a> ", redirectTo, currentPage - 1, pageSize);
}
else
{
// output.Append("<span class='pageLink'>上一页</span>");
}

output.Append(" ");
int currint = 5;
for (int i = 0; i <= 10; i++)
{//一共最多显示10个页码,前面5个,后面5个
if ((currentPage + i - currint) >= 1 && (currentPage + i - currint) <= totalPages)
{
if (currint == i)
{//当前页处理
//output.Append(string.Format("[{0}]", currentPage));
output.AppendFormat("<a class='cpb' href='{0}?pageIndex={1}&pageSize={2}'>{3}</a> ", redirectTo, currentPage, pageSize, currentPage);
}
else
{//一般页处理
output.AppendFormat("<a class='pageLink' href='{0}?pageIndex={1}&pageSize={2}'>{3}</a> ", redirectTo, currentPage + i - currint, pageSize, currentPage + i - currint);
}
}
output.Append(" ");
}
if (currentPage < totalPages)
{//处理下一页的链接
output.AppendFormat("<a class='pageLink' href='{0}?pageIndex={1}&pageSize={2}'>下一页</a> ", redirectTo, currentPage + 1, pageSize);
}
else
{
//output.Append("<span class='pageLink'>下一页</span>");
}
output.Append(" ");
if (currentPage != totalPages)
{
output.AppendFormat("<a class='pageLink' href='{0}?pageIndex={1}&pageSize={2}'>末页</a> ", redirectTo, totalPages, pageSize);
}
output.Append(" ");
}
output.AppendFormat("第{0}页 / 共{1}页", currentPage, totalPages);//这个统计加不加都行
return output.ToString();
}
}
}

后台的调用方法:

//生成 分页的标签
NavString= Common.LaomaPager.ShowPageNavigate(pageSize, pageIndex, allCount);

前台的调用方法:

<style type="text/css">
.paginator {
font: 12px Arial, Helvetica, sans-serif;
padding: 10px 20px 10px 0;
margin: 0px;
}

.paginator a {
border: solid 1px #ccc;
color: #0063dc;
cursor: pointer;
text-decoration: none;
}

.paginator a:visited {
padding: 1px 6px;
border: solid 1px #ddd;
background: #fff;
text-decoration: none;
}

.paginator .cpb {
border: 1px solid #F50;
font-weight: 700;
color: #F50;
background-color: #ffeee5;
}

.paginator a:hover {
border: solid 1px #F50;
color: #f60;
text-decoration: none;
}

.paginator a, .paginator a:visited, .paginator .cpb, .paginator a:hover {
float: left;
height: 16px;
line-height: 16px;
min-width: 10px;
_width: 10px;
margin-right: 5px;
text-align: center;
white-space: nowrap;
font-size: 12px;
font-family: Arial,SimSun;
padding: 0 3px;
}
</style>

<%= NavString %>

转载于:https://www.cnblogs.com/jiangyunfeng/p/10729133.html

分页类与前台和后台的调用方法相关推荐

  1. c# webform ajax操作,C# WebForm开发 前台请求后台数据的方法总结

    说到前台请求后台数据,我们一般都是用到AJAX(异步JavaScript和XML) .AJAX 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着可以在不重新加载整个网页的 ...

  2. php新闻表怎么分页,新闻列表分页类求助

    新闻列表分页类求助 include("conn.php"); $sql="select * from news_content order by news_id Desc ...

  3. C# webservice调用方法总结

    一.WebService在cs后台程序中的调用      A.通过命名空间和类名直接调用           示例:                         WebService ws = n ...

  4. ASP.NET中前台javascript与后台代码调用

    1.如何在JavaScript访问C#函数? 2.如何在JavaScript访问C#变量? 3.如何在C#中访问JavaScript的已有变量? 4.如何在C#中访问JavaScript函数? 问题1 ...

  5. thinkphp里分页类中前后台ulr不统一的问题

    thinkphp里分页类中前后台ulr不统一的问题 修改一下thinkphp的page类,如下: //这里原来是 $this->url = U(ACTION_NAME, $this->pa ...

  6. 后台servlet使用PrintWriter类向前台页面写内容的代码

    后台servlet使用PrintWriter类向前台页面写内容的代码 向前台写内容有单行写入也有多行一块写入 resp.getWriter().write("time = "+da ...

  7. Django框架项目之课程主页——课程页页面、课程表分析、课程表数据、课程页面、课程接口、前台、后台

    文章目录 1-课程页页面 课程组件 2 课程主页之课程表分析 课程表分析 免费课案例 创建models:course/models.py 注册models:course/adminx.py 数据库迁移 ...

  8. asp.net后台cs 和 JavaScript 互相调用方法

    key:asp.net js方法互调   asp.net 前台如何调用后台方法 1. javaScript函数中执行C#代码中的函数: 方法一:1.首先建立一个按钮,在后台将调用或处理的内容写入but ...

  9. 如何知道你的app进入了前台还是后台

    众所周知android是个开放性系统,所以系统提供的api往往都不够用,如果遇到了某些需求系统api满足不了我们,就需要自己研究了. 本文就是实现一个利用Application.ActivityLif ...

最新文章

  1. 学Python很久只学了皮毛?
  2. Ubuntu 安装firefox中文版 (启用google翻译功能)
  3. 判断只有符号数字 java_java编程 判断输入的字符,数字,及其他符号的个数
  4. Shiro————会话管理
  5. 雷军说的 WiFi 6 到底是什么?
  6. 【超全面】【持续更新中】Windows-美化指南
  7. Android视频播放器在播放前出现灰色图像
  8. 单片机的ISP是什么
  9. 微信小程序校园生活小助手+后台管理系统前后分离VUE
  10. 【随笔记】我与Java的故事
  11. 类的创建以及使用(成员变量 成员方法)
  12. 设置在桌面上显示计算机 回收站图标,我电脑属性自定义桌面,没有显示回收站的图标 怎么处理啊...
  13. 苹果A系列芯片的三年AI进化:为何要大规模升级AI算力?
  14. 分享一些C++软件开发后台开发复习必备电子书单
  15. matlab compiler使用,安装和使用MatlabCompilerRuntime
  16. java把分数区分ABCD四个等级_java编程输入成绩的英文等级abcd输出对应的中文等级优秀良好及格不及格...
  17. 使用kolla部署stine版本的OpenStack-allinone私有云
  18. 解析Sers微服务-NetCore之HelloWorld
  19. vc++按钮应用大全
  20. springboot+rocketmq(6):实现消息过滤

热门文章

  1. jquery 的animate 的transform
  2. Javascript 基础笔记
  3. 2019年3月4日 701. Insert into a Binary Search Tree
  4. JS内存管理与垃圾回收
  5. Unity4.6证书激活问题
  6. 看日本如何用IoT打造智能工厂
  7. 《树莓派学习指南(基于Linux)》——1.4 将Raspbian烧录到SD卡
  8. Jenkins + gitlab webhook实现自动化部署
  9. SPOJ Problem 6219:Edit distance
  10. [汇编] 002基础知识-CPU和寄存器