国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

好用的ASP.NET 分頁(yè)類(lèi) 簡(jiǎn)單好用 支持 AJAX 自定義文字

2019-11-17 02:07:53
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

好用的asp.net 分頁(yè)類(lèi) 簡(jiǎn)單好用 支持 Ajax 自定義文字

在做網(wǎng)站沒(méi)用 JS UI控件時(shí) 很實(shí)用

用法:

            var ps=new PageString();            /*可選參數(shù)*/            ps.SetIsEnglish = true;// 是否是英文       (默認(rèn):false)            ps.SetIsShowText = true;//是否顯示分頁(yè)文字 (默認(rèn):true)            //ps.TextFormat=""                         (默認(rèn)值:《span class=/"pagetext/"》《strong》總共《/strong》:{0} 條 《strong》當(dāng)前《/strong》:{1}/{2}《/span》)            //ps.SetPageIndexName  Request["pageIndex"](默認(rèn)值:"pageIndex")            ps.SetIsAjax = false;//                    (默認(rèn)值:"false")            /*函數(shù)參數(shù)*/            int total = 10000;            int pageSize = 10;            int pageIndex = Convert.ToInt32(Request["pageIndex"]);            var page = ps.ToString(total, pageSize, pageIndex, "/UI/PageStringTest.aspx?");            //獲取 page html 輸出           Response.Write(page);

  

效果:

代碼:

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Text.RegularExPRessions;namespace SyntacticSugar{    /// <summary>    /// ** 描述:分頁(yè)類(lèi)    /// ** 創(chuàng)始時(shí)間:2015-5-29    /// ** 修改時(shí)間:-    /// ** 作者:sunkaixuan    public class PageString    {        /// <summary>        /// 是否是英文      (默認(rèn):false)        /// </summary>        public bool SetIsEnglish { get; set; }        /// <summary>        /// 是否顯示分頁(yè)文字(默認(rèn):true)        /// </summary>        public bool SetIsShowText { get; set; }        /// <summary>        /// 樣式            (默認(rèn):"pagination")        /// </summary>        public string SetClassName { get; set; }        /// <summary>        /// 分頁(yè)參數(shù)名      (默認(rèn):"pageIndex")        /// </summary>        public string SetPageIndexName { get; set; }        /// <summary>        /// 是否是異步 同步 href='' 異步 onclick=ajaxPage()    (默認(rèn):false)        /// </summary>        public bool SetIsAjax { get; set; }        /// <summary>        /// 自定義文字        /// string.Format("{0}{1}{2}","總記錄數(shù)","當(dāng)前頁(yè)數(shù)","總頁(yè)數(shù)")        /// 默認(rèn)值:《span class=/"pagetext/"》《strong》總共《/strong》:{0} 條 《strong》當(dāng)前《/strong》:{1}/{2}《/span》        /// </summary>        public string SetTextFormat { get; set; }        public PageString()        {            SetIsEnglish = false;            SetIsShowText = true;            SetTextFormat = "<span class=/"pagetext/"><strong>總共</strong>:{0} 條 <strong>當(dāng)前</strong>:{1}/{2}</span> ";            SetClassName = "pagination";            SetPageIndexName = "pageIndex";            SetIsAjax = false;        }        /*免費(fèi)的樣式         .pagination .click {cursor:pointer}        .pagination a{text-decoration: none;border: 1px solid #AAE;color: #15B;font-size: 13px;border-radius: 2px;}        .pagination span{ color:#666;font-size:13px;display: inline-block;border: 1px solid #ccc;padding: 0.2em 0.6em;}        .pagination span.pagetext{ border:none}        .pagination a:hover{background: #26B;color: #fff;}        .pagination a{display: inline-block;padding: 0.2em 0.6em;}        .pagination .page_current{background: #26B;color: #fff;border: 1px solid #AAE;margin-right: 5px;}        .pagination{margin-top: 20px;}        .pagination .current.prev, .pagination .current.next{color: #999;border-color: #999;background: #fff;}         * */        /// <summary>        /// 分頁(yè)算法<一>共20頁(yè) 首頁(yè) 上一頁(yè)  1  2  3  4  5  6  7  8  9  10  下一頁(yè)  末頁(yè)         /// </summary>        /// <param name="total">總記錄數(shù)</param>        /// <param name="pageSize">每頁(yè)記錄數(shù)</param>        /// <param name="pageIndex">當(dāng)前頁(yè)數(shù)</param>        /// <param name="query_string">Url參數(shù)</param>        /// <returns></returns>        public string ToString(int total, int pageSize, int pageIndex, string query_string)        {            int allpage = 0;            int next = 0;            int pre = 0;            int startcount = 0;            int endcount = 0;            StringBuilder pagestr = new StringBuilder();            pageIndex = pageIndex == 0 ? 1 : pageIndex;            pagestr.AppendFormat("<div class=/"{0}/" >", SetClassName);            if (pageIndex < 1) { pageIndex = 1; }            //計(jì)算總頁(yè)數(shù)            if (pageSize != 0)            {                allpage = (total / pageSize);                allpage = ((total % pageSize) != 0 ? allpage + 1 : allpage);                allpage = (allpage == 0 ? 1 : allpage);            }            next = pageIndex + 1;            pre = pageIndex - 1;            startcount = (pageIndex + 5) > allpage ? allpage - 9 : pageIndex - 4;//中間頁(yè)起始序號(hào)            //中間頁(yè)終止序號(hào)            endcount = pageIndex < 5 ? 10 : pageIndex + 5;            if (startcount < 1) { startcount = 1; } //為了避免輸出的時(shí)候產(chǎn)生負(fù)數(shù),設(shè)置如果小于1就從序號(hào)1開(kāi)始            if (allpage < endcount) { endcount = allpage; }//頁(yè)碼+5的可能性就會(huì)產(chǎn)生最終輸出序號(hào)大于總頁(yè)碼,那么就要將其控制在頁(yè)碼數(shù)之內(nèi)            bool isFirst = pageIndex == 1;            bool isLast = pageIndex == allpage;            if (SetIsShowText)                pagestr.AppendFormat(SetTextFormat, total, pageIndex, allpage);            if (isFirst)            {                pagestr.Append("<span>首頁(yè)</span> <span>上一頁(yè)</span>");            }            else            {                pagestr.AppendFormat("<a href=/"{0}pageIndex=1/">首頁(yè)</a>  <a href=/"{0}pageIndex={1}/">上一頁(yè)</a>", query_string, pre);            }            //中間頁(yè)處理,這個(gè)增加時(shí)間復(fù)雜度,減小空間復(fù)雜度            for (int i = startcount; i <= endcount; i++)            {                bool isCurent = pageIndex == i;                if (isCurent)                {                    pagestr.Append("  <a class=/"page_current/">" + i + "</a>");                }                else                {                    pagestr.Append("   <a href=/"" + query_string + "pageIndex=" + i + "/">" + i + "</a>");                }            }            if (isLast)            {                pagestr.Append("<span>下一頁(yè)</span> <span>末頁(yè)</span>");            }            else            {                pagestr.Append("  <a  href=/"" + query_string + "pageIndex=" + next + "/">下一頁(yè)</a>  <a href=/"" + query_string + "pageIndex=" + allpage + "/">末頁(yè)</a>");            }            pagestr.AppendFormat("</div>");            return ConversionData(pagestr.ToString());        }        private string ConversionData(string page)        {            if (SetIsEnglish)            {                page= page.Replace("上一頁(yè)", "Previous").Replace("下一頁(yè)", "Next").Replace("總共", "total").Replace("當(dāng)前", "Current").Replace("條", "records").Replace("首頁(yè)", "First").Replace("末頁(yè)", "Last");            }            if (SetIsAjax)            {                var matches = Regex.Matches(page, @"href/="".*?""",RegexOptions.Singleline);                if (matches != null && matches.Count > 0)                {                    foreach (Match m in matches)                    {                        page = page.Replace(m.Value, string.Format("class=/"click/" onclick=/"ajaxPage('{0}')/"", Regex.Match(m.Value, string.Format(@"{0}/=(/d+)", SetPageIndexName)).Groups[1].Value));                    }                }            }            return page;        }    }}

  


發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 汝南县| 云南省| 砀山县| 沙田区| 逊克县| 天柱县| 武乡县| 鄂尔多斯市| 淮安市| 龙岩市| 南充市| 武穴市| 于田县| 宾川县| 大英县| 惠安县| 策勒县| 博野县| 西林县| 崇左市| 灯塔市| 略阳县| 平阴县| 金昌市| 汪清县| 梁山县| 辽源市| 湟中县| 宁海县| 滕州市| 莒南县| 麟游县| 瑞昌市| 基隆市| 徐水县| 军事| 南靖县| 和田县| 商城县| 四川省| 松潘县|