Jquery分页功能
Jquery代码
/// <reference path="jquery-1.9.1-vsdoc.js" />
//锚点
var anchor="#apage";
$(function(){
    pagerFun();
    $("#btnSearch").click(function(){
        var name=$.trim($("#txtHospitalName").val());
        var provinceId=$("#selProvince").val();
        var rateLevel= $("#selRateLevel").val();
        var pageUrl=location.href.replace(location.search,"").replace(anchor,"");
        var newURL=pageUrl+"?name="+encodeURIComponent(name)+"&pid="+provinceId+"&level="+rateLevel+anchor;
        location.href=newURL;
        //location.replace(newURL)
    });
//    var Request = new Object();
//    Request = $.getRequest();
//    if(Request["name"]){
//        var name=Request["name"];
//        $("#txtHospitalName").val(decodeURIComponent(name));
//    }
});
//分页方法
function pagerFun(){
    var pageIndex=$("#hidPageIndex").val();
    var pageCount=$("#hidPageCount").val();
    var pageUrl=location.href.replace(location.search,"").replace(anchor,"");
    var urlSearch=location.search;
    if(urlSearch.indexOf("?") != -1) {
        urlSearch=urlSearch.substr(1);
        var paraArr=urlSearch.split("&");
        if(paraArr[0].indexOf("p=")!=-1){
            urlSearch=urlSearch.replace(paraArr[0],"");
        }
        if(urlSearch!=""&urlSearch.indexOf("&")!=0){
            urlSearch="&"+urlSearch;
        }
    }
    var strPager="";
    var showPager=5;
    var startIndex=1;
    var endIndex=pageCount;
    if(pageCount==2){
        if(pageIndex==1){
            strPager="<a class=\"curr\" href=\""+pageUrl+"?p=1"+urlSearch+anchor+"\">1</a>";
            strPager=strPager+"<a href=\""+pageUrl+"?p=2"+urlSearch+anchor+"\">2</a>";
        }
        else{
            strPager="<a href=\""+pageUrl+"?p=1"+urlSearch+anchor+"\">1</a>";
            strPager=strPager+"<a class=\"curr\" href=\""+pageUrl+"?p=2"+urlSearch+anchor+"\">2</a>";
        }
        
    }
    if(pageCount>2){
        var prevPage=pageIndex-1;
        if(prevPage<=0){
            strPager="<span>上一页</span>";
        }
        else{
            strPager="<a href=\""+pageUrl+"?p="+prevPage+urlSearch+anchor+"\">上一页</a>";
        }
        if(pageIndex>=5&&pageCount>5){
            startIndex=parseInt(pageIndex)-2;
            strPager=strPager+"<a href=\""+pageUrl+"?p=1"+urlSearch+anchor+"\">1</a>";
            strPager=strPager+"<span class=\"defspan\">...</span>";
            endIndex=parseInt(pageIndex)+2;
            if(endIndex>=pageCount){
                endIndex=pageCount;
                startIndex=parseInt(pageCount)-4;
            }
        }
        else{
            if(pageCount>showPager){
                if(pageIndex<showPager){
                    endIndex=showPager;
                }
                else{
                    endIndex=parseInt(pageIndex) +parseInt(showPager)-2;
                }
            }
        }
        for(var i=startIndex;i<=endIndex;i++)
        {
            if(i==pageIndex){
                strPager=strPager+"<a class=\"curr\" href=\""+pageUrl+"?p="+i+urlSearch+anchor+"\">"+i+"</a>";
                continue;
            }
            
            strPager=strPager+"<a href=\""+pageUrl+"?p="+i+urlSearch+anchor+"\">"+i+"</a>";
        }
        if(endIndex<pageCount){
            if(endIndex!=parseInt(pageCount)-1){
                strPager=strPager+"<span class=\"defspan\">...</span>";
            }
            strPager=strPager+"<a href=\""+pageUrl+"?p="+pageCount+urlSearch+anchor+"\">"+pageCount+"</a>";
        }
        var nextPage=parseInt(pageIndex)+1;
        if(nextPage>pageCount){
            strPager=strPager+"<span>下一页</span>";
        }
        else{
            strPager=strPager+"<a href=\""+pageUrl+"?p="+nextPage+urlSearch+anchor+"\">下一页</a>";
        }
    }
    $("#divPager").html(strPager);
}
前端代码
<input type="hidden" id="hidPageIndex" value="1" runat="server" />
            <input type="hidden" id="hidPageCount" value="1" runat="server" />
            <div class="pager" style="height: 30px;">
                <div id="divPager" style="float: right; margin-right: 40px;">
                </div>
            </div>
后台代码
/// <summary>
        /// 数据加载
        /// </summary>
        /// <param name="pageIndex">页码</param>
        /// <param name="provinceId">省份id</param>
        /// <param name="name">医院名字</param>
        /// <param name="level">星级</param>
        private void DataLoad(int pageIndex, int provinceId, string name, string level)
        {
phDataContext ph = new phDataContext();
            //IQueryable<PetOrg> petOrgList = ph.PetOrg.Where(p => p.State == 1 && (p.ProvinceId == provinceId || provinceId == 0));
            IQueryable<W_Petorg_PMP_PetOrgMoreInformation> petOrgList = ph.W_Petorg_PMP_PetOrgMoreInformation.Where(s => s.OrgState == 1);
            if (!name.IsNullOrEmptyOrWhiteSpace())
            {
                name = Uri.UnescapeDataString(name);
                txtHospitalName.Value = name;
petOrgList = petOrgList.Where(p => p.OrgName.Contains(name));
            }
           if (!provinceId.ToString().IsNullOrEmptyOrWhiteSpace()&&provinceId!=0)
           {
               petOrgList = petOrgList.Where(a => a.ProvinceId == provinceId);
           }
            int count = petOrgList.Count();
            int pageCount = OperatHelper.GetUpInt(count, pageSize);
            if (pageIndex > pageCount)
            {
                pageIndex = pageCount;
            }
            if (pageIndex <= 0)
            {
                pageIndex = 1;
            }
            if (count == 0)
            {
                //noHospital.InnerText = "无记录!";
            }
            else
            {
                rep_bind.DataSource = petOrgList.OrderByDescending(p => p.CreateDate).Skip((pageIndex - 1) * pageSize).Take(pageSize);
                rep_bind.DataBind();
            }
            hidPageCount.Value = pageCount.ToString();
            hidPageIndex.Value = pageIndex.ToString();   
        }
Jquery分页功能的更多相关文章
- 【jQuery  分页】jQuery分页功能的实现
		
自写的jQuery实现分页功能的分页组件: 功能效果如下: 分页组件就是上图中的三部分, 分别放在表格上部 和下部 . 其中, 1>>>页面的代码如下: product.jsp 其 ...
 - jquery 分页功能
		
<div class="wrapper"> <div class="row"> <div class="col-sm-1 ...
 - jPList – 实现灵活排序和分页功能的 jQuery 插件
		
jPList 是一个灵活的 jQuery 插件,可以用于任何 HTML 结构的排序,分页和筛选.它支持的数据源包括:PHP + MySQL,ASP.NET + SQL Server,PHP + SQL ...
 - jQuery实现的简单分页功能的详细解析
		
分页功能在项目开发中不可或缺,老司机操作起来就和呼吸一样简单,新手恐怕就会吃力一些. 今天我回顾了一下具体的操作步骤,决定详细的分析一下每一步的实现目的及原理. 我们会创建一个简单的json文件来模拟 ...
 - Jquery、Ajax实现新闻列表页分页功能
		
前端页面官网的开发,离不开新闻列表,新闻列表一般都会有分页的功能,下面是我自己总结加查找网上资料写的一个分页的功能,记录一下. 首先,官网的开发建立在前后端分离的基础上: 再有,后端小伙伴们提供列表页 ...
 - jQuery静态分页功能
		
分页功能在做项目的过程中是常常用到的,下面是我常用的一款分页效果: 1.分页的CSS样式(page.css) #setpage { margin: 15px auto; text-align: cen ...
 - 分享5种风格的 jQuery 分页效果【附代码】
		
jPaginate 是一款非常精致的分页插件,提供了五种不同风格的分页效果,支持鼠标悬停翻页,快速分页功能.这款插件还提供了丰富的配置选项,你可以根据需要进行设置. 效果演示 源码下载 各个 ...
 - Jqgrid的用法总结与分页功能的拓展
		
这是本人写的第一个与技术相关的博客,但是非挑战技术的,而是对工作的总结,另外加一点点拓展. Jqgrid的功能十分强大,强大到可以做到与数据grid相关的任何功能,同时由于在用的过程中总是不能够一气呵 ...
 - jquery 分页控件2
		
jquery 分页控件(二) 上一章主要是关于分页控件的原理,代码也没有重构.在这一章会附上小插件的下载链接,插件主要就是重构逻辑部分,具体可以下载源文件看下,源代码也有注释.为了测试这个插件是能用的 ...
 
随机推荐
- 通过zero copy来实现高效的数据传输
			
这段时间在学习一些系统底层的知识,真后悔大学没有好好学习操作系统,导致好多文章看不懂.说到这不得不吐槽一下,像介绍系统层次的一些书籍好多都是中文翻译版,而大部分的中文翻译版大都语句晦涩,难懂,而且极易 ...
 - Azure Automation (2) 定期删除存储账号中的文件
			
<Windows Azure Platform 系列文章目录> 本文介绍的是国内由世纪互联运维的Azure China. 本文是对笔者之前的文档Azure Backup (1) 将SQL ...
 - ASP.NET MVC显示HTML字符串
			
一些html经HtmlEncode后,如“<span>测试数据</span>”.现需要把这些内容正常显示于asp.net mvc的视图内. 举个例子来解决与说明,先创建一个mo ...
 - 【SQL】分配函数一枚[AllotToTable]
			
适用环境:MSSQL 2005+.其中05需修改部分语句的写法才行,如: --变量的声明和赋值需分开写 --需改为如下 --05不支持+=这样的复合运算符 --需改为如下 功能: 将一个数字(整数或有 ...
 - Java继承知识总结
			
Java中的继承作为Java面向对象三大特性之一,在知识点上而言,还是很多的.现做出如下总结: 1. 继承的概念: 继承在本职上是特殊——一般的关系,即常说的is-a关系.子类继承父类,表明子类是一种 ...
 - jquery简单原则器(匹配除了指定选择器之外的元素 selector 表示选择器)
			
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
 - apache tiles 页面模板的使用
			
jar包maven <!-- Tiles 模板--> <dependency> <groupId>org.apache.tiles</groupId> ...
 - 2016 年沈阳网络赛---QSC and Master(区间DP)
			
题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=5900 Problem Description Every school has some legend ...
 - 习题:codevs 1519 过路费 解题报告
			
今天拿了这道题目练练手,感觉自己代码能力又增强了不少: 我的思路跟别人可能不一样. 首先我们很容易就能看出,我们需要的边就是最小生成树算法kruskal算法求出来的边,其余的边都可以删掉,于是就有了这 ...
 - 【FOL】第二周
			
一直在忙其他事情,停了好久了.终于又可以开始做点东西了. 这周主要工作: 1.整理客户端代码,加入网络模块:fol.client.net. 2.写了个简单的版本服务端程序. 3.初步完成了自动更新功能 ...