ASP實(shí)例講解:用分頁符實(shí)現(xiàn)長文章分頁顯示_ASP教程
推薦:多個(gè)函數(shù)驗(yàn)證同一表單表單在提交前我們通常會(huì)用客戶端JS對(duì)其內(nèi)容進(jìn)行驗(yàn)證,通常都是寫一個(gè)函數(shù)然后在onsumbit事件中調(diào)用,如下: 以下為引用的內(nèi)容: <html> <head&
長文章頁用分頁符來顯示,想用ASP也實(shí)現(xiàn)這種功能,可發(fā)現(xiàn)只有根據(jù)字?jǐn)?shù)進(jìn)行分頁的方法,但這種方法有一個(gè)BUG,就是如果你文章內(nèi)容中如果有UBB或HTML代碼,它很容易造成在[code][/code]之間進(jìn)行分頁,或者干脆就把[code]分解成了[co和de],這樣文章顯示就會(huì)出現(xiàn)錯(cuò)誤。
以下幾個(gè)步驟將能夠完全實(shí)現(xiàn)。
第一步:
按照正常的文章系統(tǒng)一路做下去,后臺(tái)的文章添加,文章的檢索,和文章的詳細(xì)頁,都是常規(guī)方式操作,這里不加描述,請參閱相關(guān)帖子。只是在文章添加時(shí),在你想讓它分頁的地方加上分頁符:“|||”
(當(dāng)然這個(gè)符號(hào)你可以隨便用,比如:[page]、&&&、###、@@@……,只要它不會(huì)在文章要正常顯示的地方出現(xiàn)就行了。)
我用了四個(gè)頁面,輸入頁(index.asp)、輸入完成頁(add.asp)、文章列表頁(view.asp)、文章內(nèi)容頁(display.asp),前三個(gè)都是不用處理的頁面,看下面的圖片我想一般的小鳥就會(huì)做了,關(guān)鍵是最后一個(gè)displasy.asp,所有實(shí)現(xiàn)分頁的代碼都在這里。
第二步:
在文章正文內(nèi)容的動(dòng)態(tài)數(shù)據(jù)部分做一些手腳,下面是代碼和解釋:
以下為引用的內(nèi)容: <% '這里要處理接收到的分頁參數(shù),以此來進(jìn)行顯示第幾頁的內(nèi)容 '下面這兩句就是如果沒有page這個(gè)參數(shù)傳來就讓變量pageNum取顯示第一頁的值:0 If Request("page")="" Then pageNum=0 '否則就給變量賦值為傳遞來的page里的參數(shù),來顯示其他頁 Else pageNum=Request("page") End if %> <% '如果加了可選執(zhí)行UBB代碼,可以加上下面的代碼 'rs("NoUBB")是數(shù)據(jù)庫里關(guān)于禁用UBB的字段,0為禁用,1為執(zhí)行 If rs("NoUBB")=0 then '為避免和文章內(nèi)容相連出現(xiàn)錯(cuò)誤,用Replace函數(shù)把分頁代碼“|||”的前后各加一個(gè)全角的 'rs("content")是數(shù)據(jù)庫里正文的字段,在這里加上UBB或者禁用UBB Content=Replace((unHTML(rs("content"))),"|||"," ||| ") Elseif rs("NoUBB")=1 then Content=Replace((ubb(rs("content"))),"|||"," ||| ") End if %> <% '這里就是關(guān)鍵了 '我們用split函數(shù)將文章分段取出存入變量content ContentStr=split(Content,"|||") '按照剛才從URL參數(shù)中取得的要顯示那頁的那個(gè)變量,就循環(huán)顯示一頁 For i=pageNum to pageNum %> <!--這里將是文章正文內(nèi)容--> <%=ContentStr %> <% Next %> </td> </tr> <tr> <td height="30" class="ClassName">本文共分 <% '分頁的地方,用ubound(ContentStr)取得文章一共分為幾頁,注意這里是從0開始,所以總頁數(shù)需要加1 For p = 0 to ubound(ContentStr) '鏈接還是本頁面,只不過文章ID參數(shù)后面還要加上一個(gè)分頁的參數(shù):page %> <a href="display.asp?ID=<%=rsquest("ID")%>&page=<%=p%>" class=""><%=p 1%></a> <% Next %>頁 |
很簡單吧,要是把注釋都刪除,才15行代碼,不過還要加工一下,讓它能有上一頁、下一頁和當(dāng)前頁突出的功能就完善了。
已測試過,除非文章里出現(xiàn)那個(gè)分頁符,否則各種類型都不會(huì)出錯(cuò),當(dāng)然可以把|||的數(shù)量加大比如:||||||,再六個(gè)“|”以下在文章出現(xiàn)都沒事,但六個(gè)以上就會(huì)分頁了,選擇一個(gè)好的分頁符就可以了。
分享:說說對(duì)象的復(fù)制以下為引用的內(nèi)容: <% Dim oConn,oRs Set oConn = Server.CreateObject("ADODB.Connection") Set ors = Server.CreateObject("ADODB.R
- asp FSO 讀寫文件本文件實(shí)現(xiàn)代碼
- asp中isNull、isEmpty和空字符串的區(qū)別
- asp獲取用戶真實(shí)IP地址的方法
- asp連接sqlserver數(shù)據(jù)庫實(shí)現(xiàn)代碼
- asp中正則表達(dá)式過濾html代碼函數(shù)
- asp中g(shù)et post提交表單區(qū)別
- 網(wǎng)頁模板:ASP內(nèi)建對(duì)象Request
- xmlhttp的open方法使用詳解
- ASP的常用的自定義函數(shù)大全
- asp中用for循環(huán)的一個(gè)小技巧
- eWebEditor v3.8 列目錄
- ASP無組件分頁實(shí)現(xiàn)思路及代碼
- 相關(guān)鏈接:
- 教程說明:
ASP教程-ASP實(shí)例講解:用分頁符實(shí)現(xiàn)長文章分頁顯示。