`
leaon
  • 浏览: 13779 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
文章分类
社区版块
存档分类
最新评论

仿GOOGLE分页

阅读更多

效果:

共1页       首页 上一页  1 2 3 4 5 6 7 8 9 10 ....下一页 末页
调用页面(Aspx):

在要显示分页导航的地方加个DIV标签:<div id="PageInfo" runat="server" class="Blue_Font12"></div>

调用页的代码(CS):

DataSet ds = db.getDs(sql);
this.PageInfo.InnerHtml = PageNums.GetPageNum(ds,DataList1,12); //传入DataSet,DataList名称和分页大小


PageNums实现分页类(PageNums.cs):

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;

/// <summary>
///PageNums 的摘要说明
/// </summary>
public class PageNums
{
    /// </summary>
    /// <param name="ds">DataSet实例</param>
    /// <param name="datalistname">DataList名称</param>
    /// <param name="pagesize">分页大小</param>
    public static string GetPageNum(DataSet ds, DataList datalistname, int pagesize)
    {
        PagedDataSource objPds = new PagedDataSource();
        objPds.DataSource = ds.Tables[0].DefaultView;
        objPds.AllowPaging = true;
        int total = ds.Tables[0].Rows.Count;
        objPds.PageSize = pagesize;
        int page;
        if (HttpContext.Current.Request.QueryString["page"] != null)
            page = Convert.ToInt32(HttpContext.Current.Request.QueryString["page"]);
        else
            page = 1;
        objPds.CurrentPageIndex = page - 1;
        datalistname.DataSource = objPds;
        datalistname.DataBind();
        int allpage = 0;
        int next = 0;
        int pre = 0;
        int startcount = 0;
        int endcount = 0;
        string pagestr = "";

        if (page < 1) { page = 1; }
        //计算总页数
        if (pagesize != 0)
        {
            allpage = (total / pagesize);
            allpage = ((total % pagesize) != 0 ? allpage + 1 : allpage);
            allpage = (allpage == 0 ? 1 : allpage);
        }
        next = page + 1;
        pre = page - 1;
        startcount = (page + 5) > allpage ? allpage - 9 : page - 4;//中间页起始序号
        //中间页终止序号
        endcount = page < 5 ? 10 : page + 5;
        if (startcount < 1) { startcount = 1; } //为了避免输出的时候产生负数,设置如果小于1就从序号1开始
        if (allpage < endcount) { endcount = allpage; } //页码+5的可能性就会产生最终输出序号大于总页码,那么就要将其控制在页码数之内
        pagestr = "共" + allpage + "页&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";

        pagestr += page > 1 ? "<a href=\"" + HttpContext.Current.Request.CurrentExecutionFilePath + "?page=1\">首页</a>&nbsp;&nbsp;<a href=\"" + HttpContext.Current.Request.CurrentExecutionFilePath + "?page=" + pre + "\">上一页</a>" : "首页 上一页";
       //中间页处理,这个增加时间复杂度,减小空间复杂度
        for (int i = startcount; i <= endcount; i++)
        {
            pagestr += page == i ? "&nbsp;&nbsp;<font color=\"#ff0000\">" + i + "</font>" : "&nbsp;&nbsp;<a href=\"" + HttpContext.Current.Request.CurrentExecutionFilePath + "?page=" + i + "\">" + i + "</a>";
        }
        pagestr += page != allpage ? "&nbsp;&nbsp;<a href=\"" + HttpContext.Current.Request.CurrentExecutionFilePath + "?page=" + next + "\">下一页</a>&nbsp;&nbsp;<a href=\"" + HttpContext.Current.Request.CurrentExecutionFilePath + "?page=" + allpage + "\">末页</a>" : " 下一页 末页";

        return pagestr;

    }
}


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/morrisonwu/archive/2009/08/29/4497044.aspx
分享到:
评论

相关推荐

    asp 数字分页 仿百度分页 仿谷歌分页

    "asp 数字分页 仿百度分页 仿谷歌分页"这个项目的目标是实现一个与百度和谷歌分页样式类似的分页功能,同时具备数据库连接能力。 首先,我们来看`index.asp`,这是网站的主入口文件,通常包含了整个应用的逻辑控制...

    仿谷歌分页,仿谷歌分页,分页,最简单的分页

    "仿谷歌分页"指的是借鉴谷歌搜索引擎的分页样式和逻辑,实现高效且用户体验良好的分页功能。本篇将深入探讨如何实现这样的分页机制。 首先,我们需要理解分页的基本原理。分页的核心在于限制一次加载的数据量,避免...

    仿google分页完整代码

    本案例提供的“仿Google分页完整代码”就是一个PHP实现的分页解决方案,适用于各种需要分页显示数据的场景。 首先,我们来看`index.php`,这个文件通常是网页的入口点,它会包含其他必要的PHP脚本和HTML结构。在这...

    仿google分页效果

    在本项目中,我们主要探讨的是如何实现"仿Google分页效果",并结合了表格隔行变色的视觉优化。这个项目的核心在于利用Ajax技术动态加载数据,以模拟Google搜索结果页面的分页功能,同时对展示数据的表格进行美化,...

    仿百度分页代码 谷歌分页代码

    标题与描述中的“仿百度分页代码 谷歌分页代码”主要涉及的是网站开发中常见的分页功能实现。在大数据量的处理场景下,为了提升用户体验和服务器性能,分页显示数据成为了一种常见且必要的技术手段。本文将详细解析...

    仿google分页,ajax无刷新技术,附数据库

    "仿Google分页"指的是借鉴Google搜索引擎的高效分页设计,它允许用户在不重新加载整个页面的情况下浏览不同页的数据。这种技术通过AJAX(异步JavaScript和XML)实现,提供了流畅且高效的浏览体验。 首先,我们来...

    php仿谷歌分页类.zip

    PHP通用分页类(仿Google样式)。本代码是用于分页用的,只需提供记录总数与每页显示数两个参数,无需指定URL,链接由程序生成。方便用于检索结果分页,表单采用GET方法提交,可保证在诸如查询之,删除之类的操作时,...

    jsp仿百度、谷歌分页解决分页太多,始终显示一部分的页码

    本文将深入探讨如何使用JavaScript和jQuery实现一个类似百度、谷歌的智能分页解决方案,解决分页数量过多导致用户界面拥挤的问题。 首先,我们需要理解分页的基本原理。分页通常涉及到两个关键参数:每页显示的条目...

    PHP实现仿Google分页效果的分页函数

    PHP实现仿Google分页效果的分页函数,是一种在网页中常见的功能,用于将大量的数据分段显示。该函数通过分页,不仅可以提高页面的加载速度,还能改善用户的浏览体验。在实现该功能的过程中,通常需要考虑以下几个...

    PHP通用分页类page.php[仿google分页]

    (仿Google样式) ** 只需提供记录总数与每页显示数两个参数。(已附详细使用说明..) ** 无需指定URL,链接由程序生成。方便用于检索结果分页。 ** 表单采用GET方法提交,可保证在诸如查询之,删除之类的操作时,不丢失...

    php仿谷歌百度分页源代码

    这个“php仿谷歌百度分页源代码”就是一个实现这种功能的示例,它可以帮助开发者快速创建类似于谷歌或百度搜索引擎那样的分页效果。 分页的核心原理是通过计算总页数和当前页数,然后根据用户的选择显示相应的数据...

    不错的Java经典分页

    首先,"仿谷歌分页"和"放百度分页"这两个标签暗示了我们可能会参考这两种著名搜索引擎的分页设计。谷歌和百度的分页通常简洁明了,不仅提供上一页、下一页的导航,还可能包含跳转至特定页码的功能。这种设计使得用户...

    java仿GOOGLE数字分页

    "java仿GOOGLE数字分页"是针对Java后端开发的一种技术实现,旨在模仿谷歌搜索引擎的分页样式,提供用户友好的分页体验。在这个项目中,开发者不仅关注功能实现,还注重了界面的美观性和用户体验。 首先,我们要理解...

    PHP模仿百度分页类

    一个简单实用的分页类。。。。。。。。。。。。。。。。

    含分页核心源代码 struts2.1 + hibernate3.3 +spring2.5 + 仿Google数字分页

    这是一个基于SSH(Struts2、Hibernate3.3和Spring2.5)框架的项目,其中包含了一个实现仿Google数字分页功能的核心源代码。在这个项目中,开发者利用这些技术来构建一个具有高效分页能力的Web应用,以提高用户体验并...

    整理的仿Google高效数字分页程序包

    这个“仿Google高效数字分页程序包”是才子精心整理的,旨在提供一种类似Google搜索引擎那样高效、简洁的分页解决方案。下面我们将详细探讨这个程序包中的关键知识点。 1. 分页原理: 分页主要是为了提高用户体验...

    jquery实现的带有分页效果的仿google的自动补齐效果

    本项目是基于jQuery实现的一种带有分页功能的自动补齐效果,模仿了Google搜索的智能提示功能。这个功能对于提高用户体验,尤其是进行大量数据检索时,能够极大地提升输入效率。 首先,我们要理解“自动补齐”...

    一个分页page技术

    描述中提到“考的别人的,仿google 分页”,这暗示我们将探讨一种模仿Google分页设计的实现方法,可能涉及到一些关键的UI元素和交互逻辑。Google的分页通常具有简洁的设计,包括前进、后退按钮,以及显示当前页码和...

    jsp+servlet+oracle模仿百度分页

    带学员课上做的oracle模仿百度分页样式的例子。比较适合初学者参考,jdbc工具类是自己写的,没有使用第三方分页组件。tomcat是apache-tomcat-7.0.41,myeclipse是MyEclipse 9.0,oracle是11g。例子中用的是海量数据...

Global site tag (gtag.js) - Google Analytics