青海網站建設、網絡推廣最好的公司--您身邊的網站建設專家,馬上拿起電話,聯系我們:0971-8235355   
青海西寧網站建設、網站制作公司-西寧威勢電子信息服務有限公司 首頁 |  公司簡介 |  網站建設 |  網絡推廣 |  空間租用 |  域名注冊 |  企業郵局 |  網絡安全 |  網站編程 |  客服中心 |  聯系我們 |  人才招聘
 
西寧威勢最新網站制做案例展示
Lastest Project
 
西寧網站建設  
當前位置為:首頁 >> .NET編程 >> 正文  
[原創] ASP.NET 文章內容分頁程序

文章來源: 西寧威勢電子信息服務有限公司     發布時間:2010-11-25    瀏覽次數:7314   

    因為愛干凈,所以不太喜歡ASP.NET自動生成的一大堆沒用的__VIEWSTATE,本來顯示文章內容也沒有什么可向服務器端提交的,也沒有什么東西可保留的,加上__VIEWSTATE返回到前臺確實是太多,所以將服務器端的FORM RUN=SERVER全刪除掉了,同時又為了SEO方面的考慮,直接將分頁重寫成HTML形式的,最終生成的分頁開式為:

[ 第1頁 ] [ 第2頁 ] [ 第3頁 ] [ 第4頁 ] [ 第5頁 ] [ 第6頁 ] [ 第7頁 ] [ 第8頁 ] [ 第9頁 ] [ 第10頁 ] [ 下一頁 ] 

這個形式的,該文章總共有14頁,點擊下一頁時形式為

[ 上一頁 ] [ 第11頁 ] [ 第12頁 ] [ 第13頁 ] [ 第14頁 ] 

同時,為了區別顯示當前頁,所以將當前頁標成紅色顯示,點擊第13頁時效果如下:

[ 上一頁 ] [ 第11頁 ] [ 第12頁 ] [ 第13頁 ] [ 第14頁 ] 

生成的鏈接形式為:

第一頁:ShowNews/2010112401510259154259.html

第二頁:ShowNews/2010112401510259154259-2.html

第三頁:ShowNews/2010112401510259154259-3.html

以下為控制代碼,大體上都已實現內容頁分頁功能,稍有不足是還沒有把內容和分頁代碼隔離開,有時候應用的時候可能分頁和內容會連在一起,大家自己改動一下代碼即可,這里只是提供一大致思路,詳細功能有待自己改善。

 protected string PageSplit(string content,int page,int pageSize)  //content為要分頁的內容,PAGE為當前頁

{
            string PageTag = @"<div style=""page-break-after: always""><span style=""display: none"">[page]</span></div>";  //分頁特證碼或標記
            //int pageSize = 5;  //每頁顯示多少分頁

            if (content.IndexOf(PageTag) <= 0)  //如果沒有分頁
            {
                return content;
            }
            else  //如果有分頁
            {
                string[] ContentArry = Regex.Split(content, @"<div style=""page-break-after: always""><span style=""display: none"">\[page\]", RegexOptions.IgnoreCase);
              
                //要是頁數超過pagesize頁,代表分組翻頁,比如pagesize=10,而分頁數有31,也就是一篇文章分31頁顯示,那就是分四組翻頁,[1-10 下一頁] [上一頁 11-20 下一頁] [同 21-30 同] [上一頁 31-31] 四組顯示

                int PageArryCount;  //總的分頁組數
                if (ContentArry.Length % pageSize == 0)
                {
                    PageArryCount = ContentArry.Length / pageSize;
                }
                else
                {
                    PageArryCount=((ContentArry.Length/pageSize)+1);
                }

                //==============判斷當前頁是哪個分頁組的
                int CurrentArry;
                if (page % pageSize == 0)
                {
                    CurrentArry = page / pageSize;
                }
                else
                {
                    CurrentArry=((page/pageSize)+1);
                }

                string url = Request["id"];
                string PageExt = ".html";
                string Shangyiye = "";
                string Xiayiye = "";
                string ListStr = "";

                for (int i = (CurrentArry-1) * pageSize; i < ((CurrentArry-1) * pageSize) + pageSize;i++ )
                {
                    if (i == 0)  //如果是第一頁將第1頁的“-1.html”省略“-1”
                    {
                        if (page - 1 == i)  //再判斷當前頁是不是第一頁,是的話設置為當前頁樣式為紅色
                        {
                            ListStr += @"<a href=""" + url + PageExt + "\" style='color:red'>[ 第" + (i + 1) + "頁 ]</a>&nbsp;";
                        }
                        else
                        {
                            ListStr += @"<a href=""" + url + PageExt + "\" style='color:black'>[ 第" + (i + 1) + "頁 ]</a>&nbsp;";
                        }
                    }
                    else
                    {
                        if (page - 1 == i)  //設置當前頁樣式為紅色
                        {
                            ListStr += @"<a href=""" + url + "-" + (i + 1) + PageExt + "\" style='color:red'>[ 第" + (i + 1) + "頁 ]</a>&nbsp;";
                        }
                        else
                        {
                            ListStr += @"<a href=""" + url + "-" + (i + 1) + PageExt + "\" style='color:black'>[ 第" + (i + 1) + "頁 ]</a>&nbsp;";
                        }
                    }

                    if (i >= ContentArry.Length-1) break;

                }

                if (CurrentArry >= PageArryCount)  //如果當前分頁組在于或等于總組數
                {
                    Xiayiye = "";
                }
                else
                {
                    Xiayiye = @"<a href=""" + url + "-" + (((CurrentArry) * pageSize) + 1) + PageExt + "\" style='color:red'>[ 下一頁 ]</a>&nbsp;";
                }
                if (CurrentArry <= 1)
                {
                    Shangyiye = "";
                }
                else
                {
                    if (page - 1 == 1)
                    {
                        Shangyiye = @"<a href=""" + url +  PageExt + "\" style='color:red'>[ 上一頁 ]</a>&nbsp;";
                    }
                    else
                    {
                        Shangyiye = @"<a href=""" + url + "-" + ((CurrentArry - 1) * pageSize) + PageExt + "\" style='color:red'>[ 上一頁 ]</a>&nbsp;";
                    }
                }
                return ContentArry[page-1]+ Shangyiye + ListStr + Xiayiye;
            }
        }


上一篇:使用BackgroundWorker創建多線程
下一篇:.NET對IIS的控制
評論列表
正在加載評論……
  
評論   
呢  稱:
驗證碼: 若看不清請點擊更換!
內  容:
 
 
  在線洽談咨詢:
點擊這里,在線洽談   點擊這里,在線洽談   點擊這里,在線洽談
與我交談  與我交談 與我交談
乘車路線    匯款方式   加盟合作  人才招聘  
公司地址:青海省西寧市西關大街73號(三二四部隊招行所四樓)     青ICP備13000578號-1 公安機關備案號:63010402000123    
QQ:147399120    mail:[email protected]    電話: 13897410341    郵編:810000
© Copyright( 2008-2009) QhWins.Com All Rights Reserved    版權所有:西寧威勢電子信息服務有限公司 未經書面制授權,請勿隨意轉載!
業務:青海網站制做青海網站建設青海網頁設計西寧網站制做西寧網站建設青海域名注冊青海網絡推廣青海網站推廣青海空間租用青海軟件開發網站安全網絡安全

香港六合彩开奖结果网