asp.net使用FCK編輯器中的分頁符實現長文章分頁功能_實用技巧

來源:互聯網
上載者:User

本文執行個體講述了asp.net使用FCK編輯器中的分頁符實現長文章分頁功能。分享給大家供大家參考,具體如下:

<%@ 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 />" +    "“撒切爾夫人是為數不多的一位在新聞聯播裡長期出現的政治女性,一直留在我兒時記憶裡的,是她一頭紋絲不亂的頭髮。”網友“小蝸牛和媽媽”在微博裡寫道。<br />" +    "與她發出類似感慨的網友數以百萬計——昨晚8時許,國內媒體發布訊息稱,英國前首相撒切爾夫人因中風去世,享年87歲。<br />" +    "發言人稱,撒切爾夫人去世時“很平靜”。<br />" +    "這位活躍於冷戰時期的歐洲政治大腕,一向以“鐵娘子”形象著稱,類似“平靜”的評價,在她身上並不常見。</p>" +    "<div style=\"page-break-after: always\"><span style=\"display: none\"> </span></div>" +    "<p><br />" +    "對於很多中國人而言,最初熟悉撒切爾夫人是從《新聞聯播》裡開始的。她四次訪問中國,1984年首次訪華時,與中方簽署《中英關於香港問題的聯合聲明》,為香港迴歸奠定了基礎。<br />" +    "有“80後”網友回憶,“家裡人總是興緻勃勃地說起,我4歲時就信誓旦旦地立志,長大以後要成為像‘撒切爾夫人'一樣的女強人,其實那隻是當年跟著大人《新聞聯播》看多了的後遺症”。<br />" +    "撒切爾夫人的諸多故事,也頻繁出現在心靈雞湯之類的勵志書籍中,其中最出名的,莫過於“永遠要坐前排”的故事。故事稱,這個在英國小鎮長大的孩子,從小被父親灌輸觀點:無論做什麼事情都要力爭一流,永遠坐在別人前頭,而不能落後於人,最後,她成長為一顆政治明星。<br />" +    "而香港迴歸,則是國人回憶起撒切爾夫人時,繞不過去的話題。即使時隔多年,人們依然對她與鄧小平交鋒的段子津津樂道。</p>" +    "<div style=\"page-break-after: always\"><span style=\"display: none\"> </span></div>" +    "<p><br />" +    "1982年,時任英國首相的撒切爾夫人首次訪華,並與鄧小平會晤,商榷香港主權問題。鄧小平態度強硬,他明確表示,主權問題沒有迴旋餘地,1997年後香港實行什麼制度由中國來定。<br />" +    "在人民大會堂福建廳舉行的這場會談,比預定的一個半小時多出了50分鐘。簽字儀式結束後,年近花甲的撒切爾 夫人出席中方舉辦的國宴,乘興豪飲了三杯。當她酒意微醺地走出大會堂,突然在台階上打了個踉蹌,單膝跪倒。附近的記者端起相機,搶下這一鏡頭。</p>" +    "<div style=\"page-break-after: always\"><span style=\"display: none\"> </span></div>" +    "<p><br />" +    "這一跪,便成為了各國報紙第二天最搶眼的新聞,有媒體稱,強硬的撒切爾夫人碰上了對手,“在她漫長的從政史上,似乎只在一個場合她被打回了女人的原形,那是在1982年的北京”,“與鄧相比,她只是一個女人。”<br />" +    "香港最終順利迴歸,國人因此對撒切爾夫人好感倍增。“很遺憾沒能延續租約”,2007年,撒切爾在接受採訪時回顧與中方談判情境,稱當時根本沒有談判的餘地,“我讚賞鄧小平的智慧”。<br />" +    "香港迴歸當天,她也很傷心——這是這位“鐵娘子”少有的感情流露,她記得1997年6月30日的那場大雨,末代港督彭定康站在哭泣的女兒身邊,神情感傷,“但我想我不應該再對這個事情發表議論。這會招人厭煩的。”<br /></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>  ///文章分頁函數  /// </summary>  /// <param name="content">文章內容</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;//頁數    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--]"); //取得分頁符 "\\["為"["的轉義    pageCount = tempContent.Length;    string outputContent = "";//要輸出的內容    if (pageCount <= 1)    {      outputContent = content; //文章內容      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;  }}

更多關於asp.net相關內容感興趣的讀者可查看本站專題:《asp.net操作json技巧總結》、《asp.net字串操作技巧匯總》、《asp.net操作XML技巧總結》、《asp.net檔案操作技巧匯總》、《asp.net ajax技巧總結專題》及《asp.net快取作業技巧總結》。

希望本文所述對大家asp.net程式設計有所協助。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.