c# aspx 分页源代码

1 篇文章 0 订阅

using System;
using System.Data;
using System.Data.SqlClient;
using System.Data.OleDb;
using System.Configuration;
using System.Text;

namespace WG.PagingBlocks
{
    /// <summary>
    /// PageClas 的摘要说明
    /// </summary>
    public class PageClass
    {
        //每页显示多少个
        private int _pagesize = 10;
        //页码页的索引
        private int _pageindex;
        //页数
        private int _pagecount;
        //记录数
        //private int _count;
        private int _recordcount;

        /// <summary>
        /// 分页用到的DataSet
        /// 通过DataSet数据来分析和求出 页大小,记录总数等..
        /// 类初始化是得到值.
        /// </summary>
        private DataSet PagingDs = new DataSet();
        /// <summary>
        /// 页的大小  每页显示多少个
        /// </summary>
        public int PageSize
        {
            get
            {
                return _pagesize;
            }
            set
            {
                if (value > 0)
                {
                    _pagesize = value;
                }
                else
                {
                    _pagesize = 10;
                }
            }
        }

        /// <summary>
        /// 页的索引
        /// </summary>
        public int PageIndex
        {
            get
            {
                return _pageindex;
            }
            set
            {
                if (value > 0)
                {
                    _pageindex = value;
                }
                else
                {
                    _pageindex = 1;
                }
            }
        }

        /// <summary>
        /// 页的总数
        /// </summary>
        public int PageCount
        {
            get
            {
                return _pagecount;
            }
            set
            {
                _pagecount = value;
            }
        }


        /// <summary>
        /// 记录总数
        /// </summary>
        public int RecordCount
        {
            get
            {
                return _recordcount;
            }
            set
            {
                _recordcount = value;
            }
        }


        public PageClass(DataSet oDs)
        {
            PagingDs = oDs;
            weigeng();

        }


        /// <summary>
        /// TODO: 在此处添加构造函数逻辑
        /// </summary>
        /// <param name="oDs"></param>
        /// <param name="PageSize">每页显示多少</param>
        /// <param name="Desc">排序</param>
        public PageClass(DataSet oDs, int pagesize)
        {
            PagingDs = oDs;
            PageSize = pagesize;
            weigeng();
        }

 

        /// <summary>
        /// 获得当前页/总页
        /// </summary>
        /// <returns></returns>
        public string getIndexPageCount()
        {
            return (_pageindex.ToString() + "/" + _pagecount.ToString()).ToString();
        }

 

        private void weigeng()
        {
            //获得记录总数
            RecordCount = PagingDs.Tables[0].Rows.Count;
            if (RecordCount == 0)
            {
                PageCount = 0;
                //PageIndex = 0;
            }
            else
            {
                // y 标识模除  就值余数
                // z 商的值  页的数
                int y = RecordCount % PageSize;
                int z = RecordCount / PageSize;

                if (y == 0)
                {
                   
                    PageCount = z;
                    //PageIndex = 1;
                }
                else if (y > 0)
                {
                   
                    PageCount = z + 1;
                    //PageIndex = 1;
                }
              

            }
          
        }


        /// <summary>
        /// 应用与sql
        /// </summary>
        /// <param name="pageindex">页的索引</param>
        /// <param name="oDa">SqlDataAdapter</param>
        /// <returns>返回 dataset的值</returns>
        public DataSet getPageList(int pageindex, SqlDataAdapter oDa)
        {
            PageIndex = pageindex;
            DataSet oDsNB = new DataSet();
            oDa.Fill(oDsNB, int.Parse((PageSize * (int.Parse(PageIndex.ToString()) - 1)).ToString()), PageSize, "wg");
            return oDsNB;
        }

        /// <summary>
        /// 应用与oledb
        /// </summary>
        /// <param name="pageindex">页的索引</param>
        /// <param name="oDa">SqlDataAdapter</param>
        /// <returns>返回 dataset的值</returns>
        public DataSet getPageList(int pageindex, OleDbDataAdapter oDa)
        {
            PageIndex = pageindex;
            DataSet oDsNB = new DataSet();
            oDa.Fill(oDsNB, int.Parse((PageSize * (int.Parse(PageIndex.ToString()) - 1)).ToString()), PageSize, "wg");
            return oDsNB;
        }


        /// <summary>
        /// 显示分页样式 1 --首页 上一页 下一页 末页
        /// </summary>
        /// <param name="pageindex">页的索引</param>
        /// <param name="pagecount">页数</param>
        /// <returns>分页的字符串</returns>
        public static string PagingTwo(int pageindex, int pagecount)
        {
            StringBuilder paging = new StringBuilder();
            if (pageindex <= 1 && pagecount <= 1 && pageindex == pagecount)
            {
                paging.Append("<span class=/"pageclass-wg/"><a href=/"javascript:void(0)/">首  页</a></span>");
                paging.Append("<span class=/"pageclass-wg/"><a href=/"javascript:void(0)/">上一页</a></span>");
                paging.Append("<span class=/"pageclass-wg/"><a href=/"javascript:void(0)/">下一页</a></span>");
                paging.Append("<span class=/"pageclass-wg/"><a href=/"javascript:void(0)/">末  页</a></span>");
            }

            else if (pageindex == 1 && pagecount != pageindex)
            {
                paging.Append("<span class=/"pageclass-wg/"><a href=/"javascript:void(0)/">首  页</a></span>");
                paging.Append("<span class=/"pageclass-wg/"><a href=/"javascript:void(0)/">上一页</a></span>");
                paging.Append("<span class=/"pageclass-wg/"><a href=/"?index=" + (pageindex + 1).ToString() + "/">下一页</a></span>");
                paging.Append("<span class=/"pageclass-wg/"><a href=/"?index=" + pagecount.ToString() + "/">末  页</a></span>");

            }
            else if (pageindex == pagecount && pageindex > 1)
            {
                paging.Append("<span class=/"pageclass-wg/"><a href=/"?index=1/">首  页</a></span>");
                paging.Append("<span class=/"pageclass-wg/"><a href=/"?index=" + (pageindex - 1).ToString() + "/">上一页</a></span>");
                paging.Append("<span class=/"pageclass-wg/"><a href=/"javascript:void(0)/">下一页</a></span>");
                paging.Append("<span class=/"pageclass-wg/"><a href=/"javascript:void(0)/">末  页</a></span>");

            }
            else
            {
                paging.Append("<span class=/"pageclass-wg/"><a href=/"?index=1/">首  页</a></span>");
                paging.Append("<span class=/"pageclass-wg/"><a href=/"?index=" + (pageindex - 1).ToString() + "/">上一页</a></span>");
                paging.Append("<span class=/"pageclass-wg/"><a href=/"?index=" + (pageindex + 1).ToString() + "/">下一页</a></span>");
                paging.Append("<span class=/"pageclass-wg/"><a href=/"?index=" + pagecount.ToString() + "/">末  页</a></span>");
            }
            return paging.ToString();
        }


        /// <summary>
        /// 模仿google的分页
        /// </summary>
        /// <param name="pageindex">页的索引</param>
        /// <param name="pagecount">页数</param>
        /// <returns>分页的字符串</returns>
        public static string PagingOne(int pageindex, int pagecount)
        {
            StringBuilder fengye = new StringBuilder();


            if (pageindex != 1)
            {
                fengye.Append("<span class=/"pageclass-up/"><a href=/"?index=" + (pageindex - 1).ToString() + "/">上一页</a></span>");
            }

            if (pageindex <= 11)
            {
                int j = pagecount >= pageindex + 9 ? pageindex + 9 : pagecount;
                for (int i = 1; i <= j; i++)
                {
                    if (pageindex == i)
                    {
                        fengye.Append("<span class=/"pageclass-wg/">" + i.ToString() + "</span>");
                    }
                    else
                    {
                        fengye.Append("<span class=/"pageclass-wg/"><a href=/"?index=" + i.ToString() + "/">" + i.ToString() + "</a></span>");
                    }
                }
            }
            else
            {
                int j = pagecount >= pageindex + 9 ? pageindex + 9 : pagecount;


                for (int i = j - 20; i <= j; i++)
                {
                    if (pageindex == i)
                    {
                        fengye.Append("<span class=/"pageclass-wg/">" + i.ToString() + "</span>");
                    }
                    else
                    {
                        fengye.Append("<span class=/"pageclass-wg/"><a href=/"?index=" + i.ToString() + "/">" + i.ToString() + "</a></span>");
                    }
                }
            }

            if (pagecount != pageindex)
            {
                fengye.Append("<span class=/"pageclass-down/"><a href=/"?index=" + (pageindex + 1).ToString() + "/">下一页</a></span>");
            }

            return fengye.ToString();
        }

    }
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值