控件类实现了对分页变量的处理,js实现分页的显示

转载 2006年05月19日 03:00:00
以下是.net控件代码:
  本帖相关代码   [全显模式]
using System;
using System.Web;
using System.Web.UI;
using System.Text.RegularExpressions;

namespace cnVery.bbs
{
    public class Pager : Control
    {
        //属性
        private string url;
        public string Url {
            get {
                return url;
            }
            set {
                url = value;
            }
        }
        private int page;
        new public int Page {
            get {
                return page;
            }
            set {
                page = value;
            }
        }
        private int maxpage;
        public int MaxPage {
            get {
                return maxpage;
            }
            set {
                maxpage = value;
            }
        }
        private int per;
        public int Per {
            get {
                return per;
            }
            set {
                per = value;
            }
        }
        private int total;
        public int Total {
            get {
                return total;
            }
            set {
                total = value;
            }
        }

        //构造器
        public Pager()
        {
            this.url        = "";
            this.page        = 1;
            this.maxpage    = 1;
            this.per        = 20;
            this.total        = 0;
        }
        public Pager(string url, int page, int maxpage, int per, int total)
        {
            this.url        = url;
            this.page        = page;
            this.maxpage    = maxpage;
            this.per        = per;
            this.total        = total;
        }

        //方法
        private string Get(string key)
        {
            if (Context.Request.QueryString[key] == null) {
                return "";
            } else {
                return Context.Request.QueryString[key];
            }
        }
        public bool IsNumeric(object obj)
        {
            if (Regex.IsMatch(obj.ToString(), "^[0-9]+$")) {
                return true;
            } else {
                return false;
            }
        }
        public bool GetTotal()
        {
            if (IsNumeric(Get("total"))) {
                total = int.Parse(Get("total"));
                return true;
            } else {
                return false;
            }
        }
        public void Calculate()
        {
            if (IsNumeric(Get("page"))) {
                page = int.Parse(Get("page"));
            } else {
                page = 1;
            }
            maxpage = Convert.ToInt16(total / per);
            if (total % per != 0) {
                maxpage++;
            }
            if (maxpage < 1) {
                maxpage = 1;
            }
            if (page < 1) {
                page = 1;
            } else if (page > maxpage) {
                page = maxpage;
            }
            url += "total=" + total + "&";
        }


        //拼装
        public string GetHalfContent()
        {
            string s = "<script language='javascript'>/r/n";
            s += ("    var s = pager('"+ url + "', " + page + ", " + maxpage + ", " + total + ", " + per + ", false);/r/n");
            s += "    document.write(s);/r/n";
            s += "</script>";
            return s;
        }
        public string GetContent()
        {
            string s = "<script language='javascript'>/r/n";
            s += ("    var s = pager('"+ url + "', " + page + ", " + maxpage + ", " + total + ", " + per + ", true);/r/n");
            s += "    document.write(s);/r/n";
            s += "</script>";
            return s;
        }


        //输出
        protected override void Render(HtmlTextWriter output)
        {
            output.Write(GetContent());
        }
    }
}


以下是js代码部分:
  本帖相关代码   [全显模式]
function pager(url, page, maxpage, total, per, countsvisible)
{
    var s;
    if (countsvisible) {
        s = "<div style='float:left'>";
    } else {
        s = "<div>";
    }
    s += ("<font class='t3' style='font-family:Courier New;font-size:12px'>");
    if (page == 1) {
        s += ("首页 上页 <b>");
    } else {
        s += ("<a href='" + url + "page=1'>首页</a> ");
        s += ("<a href='" + url + "page=" + (page-1) + "'>上页</a> <b>");
    }
    var j = (page-5<1) ? 1 : page-5;
    var k = (page+5>maxpage) ? maxpage : page+5;
    if (j > 1) {
        s += " <a href='" + url + "page=1'>1</a> ... ";
    }
    var i;
    for(i=j; i<k+1; i++) {
        if (page == i) {
            s += ("<span class='t2'>" + i + "</span> ");
        } else {
            s += ("<a href='" + url + "page=" + i + "'>" + i + "</a> ");
        }
    }
    if (maxpage > k) {
        s += " ... <a href='" + url + "page=" + maxpage + "'>" + maxpage + "</a> ";
    }
    if (page == maxpage) {
        s += ("</b>下页 末页");
    } else {
        s += ("</b><a href='" + url + "page=" + (page+1) + "'>下页</a> ");
        s += ("<a href='" + url + "page=" + maxpage + "'>末页</a>");
    }
    s += ("</font></div>");
    if (countsvisible)
    {
        s += ("<div style='float:right'>");
        s += ("总记录:<span class='t2'>" + total + "</span> ");
        s += ("总页数:<span class='t2'>" + maxpage + "</span> ");
        s += ("每页:<span class='t2'>" + per + "</span></div>");
    }
    return s;
}

js 拉取所有数据,前端进行分页处理

拉取所有数据,前端进行分页处理 序号 1 ...
  • yu2015java
  • yu2015java
  • 2017年05月30日 15:52
  • 1346

Js处理数据——前端分页工具

科技优家 2016-11-22 17:33 这几天有小伙伴讨论起了分页的相关问题,这里我也简单讲下前端如何简单便捷的利用Js(库)写出优雅,好用的分页工具。 分页是个很简单又超多接触的技术点,...
  • u011277123
  • u011277123
  • 2016年11月23日 09:47
  • 930

js分页显示div内容

js分页显示div内容的方法,对于div内容过高的情况,可以用js控制div分页,不错的分页效果。 例子,js分页显示div内容。         div分页显示_脚本之家_www...
  • vip_linux
  • vip_linux
  • 2014年04月30日 08:00
  • 1553

使用js对文章内容进行分页

Thinkphp中文章显示代码: {$article.content|htmlspecialchars_decode} js实现代码:     var obj = documen...
  • wanyuteng
  • wanyuteng
  • 2014年03月04日 20:15
  • 895

简单的json数据分页操作

//当前页 Integer epage=Integer.parseInt(VerifyUtils.verifyString(maps.get("epage"))); //当前页显示数目 Integer...
  • Name_CHC
  • Name_CHC
  • 2017年09月08日 14:51
  • 388

纯js实现分页 原理:所有数据已加载好,js通过遍历部分显示,实现分页效果

废话不多说,直接上代码! html> head> meta charset='utf-8'> script type="text/javascript" src="page.js">scr...
  • m0_38084879
  • m0_38084879
  • 2017年04月24日 20:43
  • 2548

JSTL实现分页

最多显示左右三页间隔,首页和末页xi 1页  当前任意页  1 2页  当前任意页  1 2 3页  当前任意页  1 2 3 4页  当前任意页  1 2 3 4 5页  当前任...
  • mingming_vip
  • mingming_vip
  • 2014年08月06日 13:55
  • 819

AngularJS实现分页显示

AngularJS的内建$location服务,以及利用$location服务的setter函数,实现前端分页显示的效果。...
  • lp_frank
  • lp_frank
  • 2015年03月22日 05:20
  • 9250

原生js实现带运动的分页效果

本例最终效果如下图,当切换页码时,本页码内所有课程将从最后一个课程开始依次运动到底部中间的位置并消失,然后新页码内的课程依次从底部中间的位置运动到原始位置。 首先实现分页效果,然后将运动和分页结合。...
  • Della_UI
  • Della_UI
  • 2016年12月08日 21:10
  • 1364

js分页实现,前端实现。

主要是借鉴了网上一个例子,自己重新加了样式,添加了跳转,修改了一些小地方,用于和大家一起分享,前端分页的技巧,表格 的数据是我已经写好了,其实大家也可以前端渲染表格然后再分页,都是可以的。 ...
  • liuzijiang1123
  • liuzijiang1123
  • 2017年01月05日 18:32
  • 9247
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:控件类实现了对分页变量的处理,js实现分页的显示
举报原因:
原因补充:

(最多只允许输入30个字)