public static string GetPageBarStr(int pageIndex, int pageSize, int pageCount, int recordCount)
{
StringBuilder sb = new StringBuilder();
string domStrStart = "";
string domStrEnd = "";
if (pageIndex<1)
{
pageIndex = 1;
}
int start = pageIndex - 2;
if (start <= 2)
{
start = 2;
}
int end = start + 4;
if (end > pageCount)
{
end = pageCount;
start = end - 4;
if (start <= 2)
{
start = 2;
}
}
if (pageCount == 1)
{
start = 1;
}
// 1 ... 3 4 5 6 7 ... 12
if (start > 2)
{
domStrStart = "<span>...</span>";
}
if (pageCount - 1 > end)
{
domStrEnd = "<span>...</span>";
}
for (int i = start; i <= end; i++)
{
if (pageIndex != i)
{
sb.Append("<a href='javascript:void(0)' onclick='pageBarGo(" + (i) + ")'>" + i + "</a>");
}
else
{
sb.Append("<span>" + i + "</span>");
}
}
StringBuilder sb2 = new StringBuilder();
if (pageIndex == 1)
{
sb2.Append("<div class='pageBarDiv'><span>上一页</span>");
}
else
{
sb2.Append("<div class='pageBarDiv'><a href='javascript:void(0)' onclick='pageBarGo(" + (pageIndex - 1) + ")'>上一页</a>");
}
if (start != 1)
{
if (pageIndex != 1)
{
sb2.Append("<a href='javascript:void(0)' onclick='pageBarGo(1)'>" + 1 + "</a>" + domStrStart);
}
else
{
sb2.Append("<span>" + 1 + "</span>" + domStrStart);
}
}
sb2.Append(sb.ToString());
if (end != pageCount)
{
if (pageIndex != pageCount && pageCount!=0)
{
sb2.Append(domStrEnd + "<a href='javascript:void(0)' onclick='pageBarGo(" + (pageCount) + ")'>" + pageCount + "</a>");
}
else
{
sb.Append(domStrEnd + "<span>" + pageCount + "</span>");
}
}
if (pageIndex == pageCount || pageCount == 0)
{
sb2.Append("<span>下一页</span>");
}
else
{
sb2.Append("<a href='javascript:void(0)' onclick='pageBarGo(" + (pageIndex + 1) + ")'>下一页</a>");
}
sb2.Append("共<span class='redspan'>" + recordCount + "</span>条数据,每页显示<input type='text' value='" + pageSize + "' id='pageBar_pageSize'/>条 转到<input type='text' value='" + pageIndex + "' id='pageBar_skip'/><input type='button' value='确定' onclick='pageBarSkip()'/></div><style>.pageBarDiv a {color:#915833; margin-right:5px;} .pageBarDiv span{ margin-right:5px;color:#444444;} .pageBarDiv input[type='text']{width:30px;color:#444444;} .pageBarDiv .redspan{margin-right:3px; margin-left:3px;color:red;} .pageBarDiv button{text-align:center;padding-left:3px;padding-right:3px;color:white;border:none;border-radius:2px;}</style>");
return sb2.ToString();
}
<script>
function pageBarGo(pageIndex) {
ajaxGetData(pageIndex);
}
function pageBarSkip() {
ajaxGetData();
}
function ajaxGetData(pageIndex) {
var pageSize = $("#pageBar_pageSize").val();
var pageSkip = $("#pageBar_skip").val();
if (pageIndex==null) {
pageIndex = pageSkip;
}
if (checkPageBarData(pageSize, pageSkip))
{
var data = $("#f1").serialize() + "action=ajaxGetData&pageIndex=" + pageIndex + "&pageSize=" + pageSize;
alert(data);
$.ajax({
url: "/system/DictAjax",
type: "post",
data: data ,
success: function (response) {
if (response.indexOf("~fuck~")>=0) {
var da = response.split("~fuck~");
if (da[1]=="ok") {
$(".layui-table").find("tr:gt(0)").remove();
$(".layui-table").append(da[2]);
}
else {
layer.msg(da[1]);
}
}
else {
window.top.location.href = "/login/manage";
}
}
});
}
}
function checkPageBarData(pageSize, pageSkip) {
if (isNaN(pageSize) ) {
layer.msg("每页显示数量需是0-50的整数。");
return false;
}
if (isNaN(pageSkip)) {
layer.msg("跳到的页数需是正整数。");
return false;
}
var ps = parseInt(pageSize);
if ( ps<= 0 || ps>50) {
layer.msg("每页显示数量需是0-50的整数。");
return false;
}
var pk = parseInt(pageSkip);
if (pk<=0) {
layer.msg("跳到的页数需是正整数。");
return false;
}
return true;
}
</script>
- 【第四篇】ASP.NET MVC快速入门之完整示例(MVC5+EF6)
目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...
- Bootstrap Metronic 学习记录(二)菜单栏
1.简介 1) .环境配置 2) .提取页面 2).动态生成菜单(无限级别树) 2.系统环境配置 项目需要程序数据支撑,这里选择MVC5.0+EF6.0[SQLSERVER](不对MVC架构和SQ ...
- 自定义分页控件PageList
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using S ...
- jqGrid配置属性说明
Property Type Description Default1) ajaxGridOptions object This option allows to set global ajax set ...
- extjs后自己写了一些见不得人的脚本
<html> <head> <title> 配置管理器 </title> <style type="text/css"> ...
- 数据绑定控件之Repeater
引言 前几篇的文章在说AJAX的内容,利用AJAX技术能够开发出高效运行的网站应用程序,不过在进行B/S项目开发时只拥有AJAX技术是远远不够的,踏入到B/S要学的东西会更多,但相较C/S的复杂逻辑结 ...
- C#编码规范 转 http://www.cnblogs.com/wulinfeng/archive/2012/08/31/2664720.html
C#编码规范 1 规范目的 ……………………………………………………… 3 2 适用范围 ……………………………………………………… 3 3 代码注释 ………………………………………………… ...
- 【PHP】分页条函数封装
这两天在学习PHP 想做一个前端后台都包含的网站 看了一些视频发现大牛们都是将封装起来实现代码的重用性 本人技拙也写了个分页条函数的封装 分页条在用PHP网站开发中十分常用 通过封装代码来提高网站开发 ...
- jqGrid属性中文详细说明 (转)
jqGrid的属性很多,其实很大部分的属性,使用其默认值就可以了.但是详细了解一下属性的含义以及作用,对我们定制自己的grid是有帮助的. 以下内容描述格式是:属性名称 参数值类型 描述内容(可 ...
随机推荐
- Windows server 2008R2部署服务批量安装Windows7教程
利用Windows server 2008 R2下的Windows部署服务可以批量安装Windows 7,以下简称WDS. WDS需要用到域和dhcp.DNS服务,所以,基础环境必须要有域控制器,dh ...
- POJ C程序设计进阶 编程题#4:Tomorrow never knows?
来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩.) 注意: 总时间限制: 1000ms 内存限制: 65536kB 描述 甲壳虫的<A day ...
- NSBundle UIImageView &UIButton
1.NSBundle 1> 一个NSBundle代表一个文件夹,利用NSBundle能访问对应的文件夹 2> 利用mainBundle就可以访问软件资源包中的任何资源 3> 模拟器应 ...
- Objective-C特点
1.兼容性 OC是一种面向对象的C语言,在OC的代码中可以有C和C++语句,它可以调用C函数,也可以通过C++对象访问方法. 2.字符串 OC通常不使用C语言风格的字符串.大多数情况下(CoreFou ...
- 微信Api
//定义变量 HttpRequest Request; HttpResponse Response; HttpServerUtility Server; HttpContext Context; pr ...
- Entity Framework中的多个库操作批量提交、事务处理
在Entity Framework 中使用SaveChanges()是很频繁的,单次修改或删除数据后调用SaveChanges()返回影响记录数. 要使用批量修改或者批量删除数据,就需要SaveCha ...
- PHP变量名区分大小写,函数名不区分大小写
PHP变量名区分大小写,函数名不区分大小写,经常被新手忽视的小细节,测试如下. PHP变量名区分大小写测试: <?php $aaa = "phpddt.com"; $AAA ...
- UCOS2_STM32F1移植详细过程(一)
Ⅰ.概述 该文写针对初学µC/OS的朋友,基于以下平台来一步一步移植µC/OS嵌入式操作系统.UCOS移植相关平台: 系统平台:µC/OS-II (最新V2.92版) 硬件平台:STM32F1 ...
- 一些关于python的小感想
python是一门优秀的语言,但随之而来的是大量的知识,各种模块,相信一个人的大脑是很难记住如此多的内容.这时后的我们就应该想办法避免去记忆这么多的内容. 1.查看官方文档(英语很重要,啥也不说了) ...
- python之文件
文件打开函数:f = open 表1-1:open函数中模式参数常用值 打开模式 描述 'r' 读模式 'w' 写模式 'a' 追加模式 'b' 二进制模式 '+' 读/写模式 表1-2:文件对象方法 ...