封装好的 分页类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DAL;

namespace BLL
{
    #region  Model
    /// <summary>
   /// 分页 Model
   /// </summary>
    public class PageInfo
    {
        public double pageSize { get; set; }         //每页显示多少条
        public int page { get; set; }              //从多少页开始显示
        public int count { get; set; }             //总共多少条数据
        public int topPage { get; set; }           //总共多少页
        public string info { get; set; }           //数据承载
        public int showPage { get; set; }          //一次显示多少页
        public string pindex { get; set; }         //页面
    }
    #endregion

    #region  分页
    /// <summary>
    /// 分页
    /// </summary>
    public class PageManager
    {
        public string PageInfo(PageInfo pages)
        {
            pages.info = string.Format("合计:{0}条数据\t总共:{1}页\t现在所在{2}页&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;", pages.count, pages.topPage, pages.page);
            if (pages.page != 0)
            {
                pages.info += Link(1, "首页", pages.pindex);
            }
            if (pages.page > 1)
            {
                pages.info += Link(pages.page - 1, "上一页", pages.pindex);
            }


            for (int i = 0; i <= 10; i++)
            {
                var v = pages.page + i - pages.showPage;

                if (v >= 1 && v <= pages.topPage)
                {
                    if (pages.showPage == i)
                    {
                        pages.info += Clink(pages.page.ToString());
                    }
                    else
                    {
                        pages.info += Link(v, v.ToString(), pages.pindex);
                    }
                }
            }
            if (pages.page < pages.topPage)
            {
                pages.info += Link(pages.page + 1, "下一页", pages.pindex);
            }
            if (pages.page != pages.topPage)
            {
                pages.info += Link(pages.topPage, "末页", pages.pindex);
            }
            return pages.info;
        }
        private string Link(int page, string text, string href)
        {
            return "<a href='" + href + "?Pindex=" + page + "'>" + text + "</a>&nbsp;";
        }
        private string Clink(string text)
        {
            return "<a href='javascript:'>" + text + "</a>";
        }
    }
    #endregion

    #region  调用方法
        ////实例化一个对象
        //PageInfo p = new PageInfo();
        //int Page = Convert.ToInt32(Request.QueryString["Pindex"]);
        //p.count = Tb_UserLoginmanager.ALL().Count();             //总共有多少条数据
        //p.pageSize = 5;                                          //每页显示多少条
        //p.page = Page;                                           //从第几页开始显示
        //p.pindex = Request.Path;                                 //获取路径
        //p.topPage = (int)Math.Ceiling(p.count / p.pageSize);     //计算页数
        //p.showPage = 5;

        //int pagesize = Convert.ToInt32(p.pageSize);
        ////linq
        //var list = Tb_UserLoginmanager.ALL()
        //         .Skip(pagesize * (Page - 1)).Take(pagesize);

        //this.LitPage.Text += new PageManager().PageInfo(p);
        //this.Repeater1.DataSource = list;
        //this.Repeater1.DataBind();
 #endregion
}
   

posted @ 2012-11-15 17:08  进步者One  阅读(122)  评论(0)    收藏  举报