Halaman artikel yang panjang ditampilkan dengan jeda halaman. Saya ingin menggunakan ASP untuk mengimplementasikan fungsi ini, tetapi saya menemukan bahwa hanya ada cara untuk membuat halaman berdasarkan jumlah kata adalah kode UBB pada konten artikel anda, caranya sangat mudah. Hal ini menyebabkan pagination antar [code][/code], atau hanya menguraikan [code] menjadi [co dan de] sehingga menyebabkan error pada tampilan artikel.
Langkah-langkah berikut akan memungkinkan hal ini.
Langkah 1:
Ikuti sistem artikel normal sepenuhnya. Menambahkan artikel di latar belakang, mengambil artikel, dan halaman detail artikel semuanya dioperasikan dengan cara biasa. Tidak ada deskripsi di sini. Saat menambahkan artikel, tambahkan hentian halaman di tempat yang Anda inginkan: "|||" (Tentu saja, Anda dapat menggunakan simbol ini dengan santai, seperti: [halaman], &&&, ###, @@@ ..., selama tidak muncul tempat artikel akan ditampilkan secara normal)
Saya menggunakan empat halaman, halaman input (index.asp), halaman penyelesaian input (add.asp), halaman daftar artikel (view .asp), Halaman konten artikel (display.asp), tiga halaman pertama adalah halaman yang tidak perlu diproses. Melihat gambar di bawah ini, menurut saya burung biasa bisa melakukannya. semua kode untuk paging ada di sini.
Langkah 2:
Lakukan beberapa trik pada bagian data dinamis badan artikel. Berikut kode dan penjelasannya:
<%
'Di sini kita perlu memproses parameter paging yang diterima untuk menampilkan konten halaman mana
'Dua kalimat berikut membiarkan variabel pageNum mengambil nilai halaman pertama jika tidak ada parameter halaman yang diteruskan: 0
Jika Permintaan("halaman")="" Lalu
nomor halaman=0
'Jika tidak, tetapkan nilai ke variabel sebagai parameter di halaman yang diteruskan untuk menampilkan halaman lain.
Kalau tidak
pageNum=Permintaan("halaman")
Berakhir jika
%>
<%
'Jika Anda menambahkan kode UBB eksekusi opsional, Anda dapat menambahkan kode berikut
'rs("NoUBB") adalah kolom di database tentang penonaktifan UBB, 0 berarti dinonaktifkan, 1 berarti dijalankan
Jika rs("NoUBB")=0 maka
'Untuk menghindari kesalahan dalam menghubungkan dengan konten artikel, gunakan fungsi Ganti untuk menambahkan lebar penuh sebelum dan sesudah kode paging "|||"
'rs("content") adalah kolom teks dalam database, tambahkan UBB di sini atau nonaktifkan UBB
Konten=Ganti((unHTML(rs("konten"))),"|||"," ||| ")
Jika tidak, rs("NoUBB")=1 maka
Konten=Ganti((ubb(rs("konten"))),"|||"," ||| ")
Berakhir jika
%>
<%
'Ini kuncinya
'Kami menggunakan fungsi split untuk mengekstrak artikel menjadi beberapa bagian dan menyimpannya dalam variabel konten
ContentStr=split(Isi,"|||")
'Menurut variabel yang akan ditampilkan yang baru saja diperoleh dari parameter URL, halaman akan ditampilkan dalam satu lingkaran
Untuk i=nomor halaman hingga nomor halaman
%>
<!--Ini akan menjadi teks artikel-->
<%=Str Konten %>
<% Berikutnya %>
</td>
</tr>
<tr>
<td height="30" class="ClassName">Artikel ini dibagi menjadi
<%
'Di area paging, gunakan ubound(ContentStr) untuk mengetahui berapa halaman artikel tersebut dibagi. Perhatikan bahwa ini dimulai dari 0, jadi jumlah halaman perlu ditambah 1
Untuk p = 0 hingga ubound(ContentStr)
'Tautan masih berupa halaman ini, tetapi parameter paging ditambahkan setelah parameter ID artikel: halaman
%>
<a href="display.asp?ID=<%=rsquest("ID")%>&page=<%=p%>" class=""><%=p+1%></a>
<% Berikutnya %> halaman
Caranya sangat sederhana, jika semua komentar dihapus, hanya akan ada 15 baris kode, namun masih perlu diproses agar dapat berfungsi untuk menyorot halaman sebelumnya, halaman berikutnya, dan halaman saat ini .
Sudah teruji, kecuali page break muncul di artikel, semua tipe tidak akan salah. Tentu saja Anda bisa menambah jumlah |||, misalnya: ||||||, lalu enam "|". atau kurang muncul di artikel. Semuanya baik-baik saja, tetapi jika lebih dari enam, itu akan dipecah menjadi beberapa halaman.