本文實例講述了asp.net使用FCK編輯器中的分頁符實現(xiàn)長文章分頁功能。分享給大家供大家參考,具體如下:
%@ Page Language="C#" AutoEventWireup="true" CodeFile="SplitContent.aspx.cs" Inherits="SplitContent" %> %@ Register Assembly="FredCK.FCKeditorV2" Namespace="FredCK.FCKeditorV2" TagPrefix="FCKeditorV2" %> !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> html xmlns="http://www.w3.org/1999/xhtml"> head runat="server"> title>/title> /head> body> form id="form1" runat="server"> div> /div> asp:Panel ID="pnlPage" runat="server" Height="286px"> asp:Label ID="ltlContent" runat="server" Text="ltlContent">/asp:Label> br /> asp:Label ID="ltlPage" runat="server" Text="ltlPage">/asp:Label> /asp:Panel> /form> /body> /html>
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class SplitContent : System.Web.UI.Page { private static string a = "p>對于很多中國人而言,撒切爾夫人是一個符號。br />" + "“撒切爾夫人是為數(shù)不多的一位在新聞聯(lián)播里長期出現(xiàn)的政治女性,一直留在我兒時記憶里的,是她一頭紋絲不亂的頭發(fā)?!本W(wǎng)友“小蝸牛和媽媽”在微博里寫道。br />" + "與她發(fā)出類似感慨的網(wǎng)友數(shù)以百萬計——昨晚8時許,國內(nèi)媒體發(fā)布消息稱,英國前首相撒切爾夫人因中風去世,享年87歲。br />" + "發(fā)言人稱,撒切爾夫人去世時“很平靜”。br />" + "這位活躍于冷戰(zhàn)時期的歐洲政治大腕,一向以“鐵娘子”形象著稱,類似“平靜”的評價,在她身上并不常見。/p>" + "div style=\"page-break-after: always\">span style=\"display: none\"> /span>/div>" + "p>br />" + "對于很多中國人而言,最初熟悉撒切爾夫人是從《新聞聯(lián)播》里開始的。她四次訪問中國,1984年首次訪華時,與中方簽署《中英關(guān)于香港問題的聯(lián)合聲明》,為香港回歸奠定了基礎(chǔ)。br />" + "有“80后”網(wǎng)友回憶,“家里人總是興致勃勃地說起,我4歲時就信誓旦旦地立志,長大以后要成為像‘撒切爾夫人'一樣的女強人,其實那只是當年跟著大人《新聞聯(lián)播》看多了的后遺癥”。br />" + "撒切爾夫人的諸多故事,也頻繁出現(xiàn)在心靈雞湯之類的勵志書籍中,其中最出名的,莫過于“永遠要坐前排”的故事。故事稱,這個在英國小鎮(zhèn)長大的孩子,從小被父親灌輸觀點:無論做什么事情都要力爭一流,永遠坐在別人前頭,而不能落后于人,最后,她成長為一顆政治明星。br />" + "而香港回歸,則是國人回憶起撒切爾夫人時,繞不過去的話題。即使時隔多年,人們依然對她與鄧小平交鋒的段子津津樂道。/p>" + "div style=\"page-break-after: always\">span style=\"display: none\"> /span>/div>" + "p>br />" + "1982年,時任英國首相的撒切爾夫人首次訪華,并與鄧小平會晤,商榷香港主權(quán)問題。鄧小平態(tài)度強硬,他明確表示,主權(quán)問題沒有回旋余地,1997年后香港實行什么制度由中國來定。br />" + "在人民大會堂福建廳舉行的這場會談,比預(yù)定的一個半小時多出了50分鐘。簽字儀式結(jié)束后,年近花甲的撒切爾 夫人出席中方舉辦的國宴,乘興豪飲了三杯。當她酒意微醺地走出大會堂,突然在臺階上打了個踉蹌,單膝跪倒。附近的記者端起相機,搶下這一鏡頭。/p>" + "div style=\"page-break-after: always\">span style=\"display: none\"> /span>/div>" + "p>br />" + "這一跪,便成為了各國報紙第二天最搶眼的新聞,有媒體稱,強硬的撒切爾夫人碰上了對手,“在她漫長的從政史上,似乎只在一個場合她被打回了女人的原形,那是在1982年的北京”,“與鄧相比,她只是一個女人?!眀r />" + "香港最終順利回歸,國人因此對撒切爾夫人好感倍增。“很遺憾沒能延續(xù)租約”,2007年,撒切爾在接受采訪時回顧與中方談判場景,稱當時根本沒有談判的余地,“我贊賞鄧小平的智慧”。br />" + "香港回歸當天,她也很傷心——這是這位“鐵娘子”少有的感情流露,她記得1997年6月30日的那場大雨,末代港督彭定康站在哭泣的女兒身邊,神情感傷,“但我想我不應(yīng)該再對這個事情發(fā)表議論。這會招人厭煩的?!眀r />/p>"; protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { //文章分頁頁碼 int currentPage = Request["cpage"] == null ? 1 : Convert.ToInt32(Request["cpage"]); //URL地址 string pageUrl = Request.Url.ToString(); ArticlePage(a, currentPage, pageUrl); } } /// summary> ///文章分頁函數(shù) /// /summary> /// param name="content">文章內(nèi)容/param> /// param name="currentPage">當前頁碼/param> /// param name="pageUrl">當前頁面地址/param> protected void ArticlePage(string content, int currentPage, string pageUrl) { pageUrl = !pageUrl.Contains("?") ? pageUrl + "?" : pageUrl.Replace("cpage=" + currentPage, ""); int pageCount = 0;//頁數(shù) content = content.Replace("div style=\"page-break-after: always\">span style=\"display: none\"> /span>/div>", "[--page--]");//FCK在IE中生成的默認分頁符,替換為自定義分頁符 content = content.Replace("div style=\"page-break-after: always\">span style=\"display: none\"> /span>/div>", "[--page--]");//FCK在FF中生成的默認分頁符,替換為自定義分頁符 string[] tempContent = System.Text.RegularExpressions.Regex.Split(content, "\\[--page--]"); //取得分頁符 "\\["為"["的轉(zhuǎn)義 pageCount = tempContent.Length; string outputContent = "";//要輸出的內(nèi)容 if (pageCount = 1) { outputContent = content; //文章內(nèi)容 this.pnlPage.Visible = false; } else { string pageStr = "";//分頁字符串 pageStr += "共span class='count'>" + pageCount + "/span>頁 "; if (currentPage != 1) { pageStr += " a class='prev' href =" + pageUrl + "cpage=" + (currentPage - 1) + ">上頁/a>"; } for (int i = 1; i = pageCount; i++) { if (i == currentPage) pageStr += (" span class='active'>" + i + "/span>"); else pageStr += (" a class='num' href =" + pageUrl + "cpage=" + i + ">" + i + "/a>"); } if (currentPage != pageCount) { pageStr += " a class='next' href =" + pageUrl + "cpage=" + (currentPage + 1) + ">下頁/a>"; } this.ltlPage.Text = pageStr; outputContent = tempContent[currentPage - 1].ToString(); } this.ltlContent.Text = outputContent; } }
更多關(guān)于asp.net相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《asp.net操作json技巧總結(jié)》、《asp.net字符串操作技巧匯總》、《asp.net操作XML技巧總結(jié)》、《asp.net文件操作技巧匯總》、《asp.net ajax技巧總結(jié)專題》及《asp.net緩存操作技巧總結(jié)》。
希望本文所述對大家asp.net程序設(shè)計有所幫助。