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>

pagebar的更多相关文章

  1. 【第四篇】ASP.NET MVC快速入门之完整示例(MVC5+EF6)

    目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...

  2. Bootstrap Metronic 学习记录(二)菜单栏

    1.简介 1)  .环境配置 2)  .提取页面 2).动态生成菜单(无限级别树) 2.系统环境配置 项目需要程序数据支撑,这里选择MVC5.0+EF6.0[SQLSERVER](不对MVC架构和SQ ...

  3. 自定义分页控件PageList

    using System; using System.Collections; using System.Collections.Generic; using System.Linq; using S ...

  4. jqGrid配置属性说明

    Property Type Description Default1) ajaxGridOptions object This option allows to set global ajax set ...

  5. extjs后自己写了一些见不得人的脚本

    <html> <head> <title> 配置管理器 </title> <style type="text/css"> ...

  6. 数据绑定控件之Repeater

    引言 前几篇的文章在说AJAX的内容,利用AJAX技术能够开发出高效运行的网站应用程序,不过在进行B/S项目开发时只拥有AJAX技术是远远不够的,踏入到B/S要学的东西会更多,但相较C/S的复杂逻辑结 ...

  7. C#编码规范 转 http://www.cnblogs.com/wulinfeng/archive/2012/08/31/2664720.html

    C#编码规范   1  规范目的 ……………………………………………………… 3 2  适用范围 ……………………………………………………… 3 3  代码注释 ………………………………………………… ...

  8. 【PHP】分页条函数封装

    这两天在学习PHP 想做一个前端后台都包含的网站 看了一些视频发现大牛们都是将封装起来实现代码的重用性 本人技拙也写了个分页条函数的封装 分页条在用PHP网站开发中十分常用 通过封装代码来提高网站开发 ...

  9. jqGrid属性中文详细说明 (转)

    jqGrid的属性很多,其实很大部分的属性,使用其默认值就可以了.但是详细了解一下属性的含义以及作用,对我们定制自己的grid是有帮助的. 以下内容描述格式是:属性名称 参数值类型    描述内容(可 ...

随机推荐

  1. Tomcat 7优化前及优化后的性能对比

    Tomcat 7在我们日常开发.测试.生产环境都会使用到,但对于大部分开发人员来说,对其性能还是没有多大了解.本文就对它做一次性能测试,对比优化前后的性能区别. 一.运行环境 CPU: Intel(R ...

  2. hbase日常运维管用命令,region管理

    1         Hbase日常运维 1.1       监控Hbase运行状况 1.1.1        操作系统 1.1.1.1 IO 群集网络IO,磁盘IO,HDFS IO IO越大说明文件读 ...

  3. 2.3搭建Android应用程序开发环境

    1.安装Android SDK (1)首选下载Android SDK: (2)下载完成之后,在Ubuntu系统下进行解压: (3)解压完成之后,配置环境变量: ①用vim打开/etc/profile文 ...

  4. mysql在生产环境下有大量锁表,又不允许重启的情况下的处理办法

    mysql在生产环境下有大量锁表,又不允许重启的情况下的处理办法 满头大汗的宅鸟该怎么办呢? mysql -u root -e "show processlist"|grep -i ...

  5. LevelDB源码之五Current文件\Manifest文件\版本信息

    版本信息有什么用?先来简要说明三个类的具体用途: Version:代表了某一时刻的数据库版本信息,版本信息的主要内容是当前各个Level的SSTable数据文件列表. VersionSet:维护了一份 ...

  6. php 显示内存 释放内存

    <?php //这只是个例子,下面的数字取决于你的系统 echo memory_get_usage() . "\n"; // 36640 $a = str_repeat(&q ...

  7. 用序列化工具写入xml

    标本: <?xml version="1.0" encoding="UTF-8" standalone="true"?> //文 ...

  8. 2)main函数在执行前和执行后有哪些操作

    main函数执行之前,主要就是初始化系统相关资源:      1. 设置栈指针      2. 初始化static静态和global全局变量,即data段的内容      3. 将未初始化部分的全局变 ...

  9. How to create Lookup Worker Filtered by Legal Entity[AX2012]

    1. Add a new method in hcmWorker table, and add this script : public static client void lookupWorker ...

  10. STM32F4_TIM基本延时(计数原理)

    Ⅰ.概述 STM32的TIM定时器分为三类:基本定时器.通用定时器和高级定时器.从分类来看就知道STM32的定时器功能是非常强大的,但是,功能强大了,软件配置定时器就相对复杂多了.很多初学者甚至工作了 ...