asp裡在一個列表裡如果想分頁可以接受下分頁的參數,然後在判斷是否為空白、是否為數字;然在設定每頁顯示多少條資料,在判斷是否大於總頁碼...
那麼內頁呢?內頁不能這樣了,內頁呢可以使用分頁符號。比如:{$page$},當出現這個的時候則是否分頁了,怎麼判斷呢?
比如你的一段文章這樣寫的:
其實你點擊上傳只是點擊了瀏覽這個按鈕,那麼會讓你選擇檔案,這步就來了重點了,你得監聽這個上傳瀏覽的文字框是否改變值,如果改變則提交下表單 {$page$} 這個就會提交給Iframe了,然後監聽Iframe的傳回值,比如你程式裡上傳成功返回的1,那麼你監聽他的值是否為1,如果為1則說明上傳成功,否則為上傳失敗了。那麼怎麼監聽這個Iframe呢,可以使用jquery的load()參數,也可以使用onload等。
那麼到{$page$}的地方以前的都是第一頁,下面到在出現{$page$}為止是第二頁,當然如果沒有分頁符號了則是否直接到底了,沒有第三頁了。看程式碼:
asp code
1 dim content,page,Content_Tmp,Page_Count,OutContent 2 Content=rs("Content") 3 page=trim(request.QueryString("page")) 4 if page="" then page=1 5 '當然這裡還要判斷page是否合法,比如是否為正確的數字等 6 If InStr(Content,"{$page$}")>0 Then'如果包含分頁符號則 7 Content_Tmp = Split(Content,"{$page$}")'儲存個變數用來分割內容 8 Page_Count = Ubound(Content_Tmp)+1'讓Page_Count=分割了多少個,也就是幾頁,這裡+1是為了防止下標錯誤 9 If page> Page_Count Then page = Page_Count'如果當前頁面大於總頁則讓當前等於總頁10 OutContent = Content_Tmp(page-1)'讓輸出變數=分割出來的內容裡的第Page-1頁面,比如你有2個分頁符號,那麼就是三頁,Content_Tmp(0)就是第一頁,Content_Tmp(1)就是第二頁...11 Else12 OutContent = Content'如果不包含分頁符則直接等於13 End If14 15 response.write(outcontent)'輸出內容
那麼上面的asp代碼你應該可以看明白吧?
咱們現在內容是輸出了,但是還缺少的就是內頁分頁後的導航啊,這樣也好做:
asp code
1 dim iPage,URL 2 If Page_Count>1 Then'如果總頁大於1才顯示內頁分頁導航 3 Response.Write("<div>") 4 For iPage=1 To Page_Count'迴圈,不解釋 5 If iPage = 1 Then 6 URL = ID & ".html"'其中的ID是你的新聞ID,這裡只是個類比,實際的URL你自己根據自己的情況更改 7 Else 8 URL = ID & "_" & iPage & ".html" 9 End If10 If iPage = thisPage Then11 Response.Write("<strong style=""color:#FF0000;"">第" & iPage & "頁</strong> ")12 Else13 Response.Write("<a href=""" & URL & """ title='點擊進入第"&ipage&"頁'>第" & iPage & "頁</a> ")14 End If15 Next16 Response.Write("</div>")17 End If
到這裡一個內頁的分頁已經OK了,這裡是以靜態URL為例子,當然你要根據自己的網站需求而更改URL。比如這裡的是 html/1.html 這裡1是文章的ID,如果有第二頁就是 html/1_2.html ,如果你想動態話只是改變下URL就OK了。
說到分頁了,其實還有自動分頁,比如多少個字元自動分頁,只是那個還得N多判斷,比如你分頁的時候總不能把人家圖片給分沒吧,你分頁的第1000個字元正好是個a標籤該怎麼辦?
自動內頁分頁正在研究,出來後在給大家分享!