Длинные страницы статей отображаются с разрывами страниц. Я хочу использовать ASP для реализации этой функции, но обнаружил, что существует только способ разбиения на страницы по количеству слов. Но в этом методе есть ошибка, то есть если она есть. является кодом UBB в содержании вашей статьи, это очень просто. Это приводит к разбиению на страницы между [code][/code] или просто разбивает [code] на [co и de], вызывая ошибки при отображении статьи.
Следующие шаги сделают это возможным.
Шаг 1.
Полностью следуйте обычной системе статей. Добавление статей в фоновом режиме, получение статей и страниц с подробными сведениями о статьях выполняются обычным способом. Здесь нет описания. Просто добавляя статью, добавьте разрыв страницы в том месте, где вы хотите ее разместить: «|||» (конечно, вы можете использовать этот символ случайно, например: [страница], &&&, ###, @@@ ..., пока он не появляется там, где статья должна отображаться нормально)
Я использовал четыре страницы: страницу ввода (index.asp), страницу завершения ввода (add.asp), страницу списка статей (просмотр .asp), страница содержимого статьи (display.asp), первые три — это страницы, которые не нужно обрабатывать. Глядя на картинку ниже, думаю, это сможет сделать обычная птица. Ключ — последний display.asp, все коды для пейджинга здесь.
Шаг 2.
Проделайте некоторые трюки с частью динамических данных в тексте статьи. Ниже приведен код и пояснения:
<%.
'Здесь нам нужно обработать полученные параметры пейджинга, чтобы отобразить содержимое какой страницы
'Следующие два предложения позволяют переменной pageNum принимать значение первой страницы, если параметр страницы не передан: 0
Если Запрос("страница")="" Тогда
номер страницы=0
'В противном случае присвойте значение переменной в качестве параметра на переданной странице для отображения других страниц.
Еще
pageNum=Запрос("страница")
Конец, если
%>
<%
'Если вы добавите дополнительный код выполнения UBB, вы можете добавить следующий код
'rs("NoUBB") - поле в базе данных об отключении УББ, 0 означает отключено, 1 означает выполнено
Если rs("NoUBB")=0, то
'Чтобы избежать ошибок при соединении с содержимым статьи, используйте функцию «Заменить», чтобы добавить полную ширину до и после кода подкачки «|||»
'rs("content") — текстовое поле в базе данных, добавьте сюда UBB или отключите UBB.
Content=Replace((unHTML(rs("content"))),"|||"," ||| ")
Иначе если rs("NoUBB")=1 тогда
Content=Replace((ubb(rs("content"))),"|||"," ||| ")
Конец, если
%>
<%
«Вот ключ
'Мы используем функцию разделения, чтобы извлечь статью на разделы и сохранить их в переменной content
ContentStr=split(Содержимое,"|||")
'В соответствии с переменной, которая должна отображаться, только что полученной из параметра URL, страница будет отображаться в цикле
Для i = pageNum до pageNum
%>
<!--Это будет текст статьи-->
<%=ContentStr %>
<% Следующий %>
</td>
</tr>
<тр>
<td height="30" class="ClassName">Эта статья разделена на
<%
'В области разбиения на страницы используйте ubound(ContentStr), чтобы узнать, на сколько страниц разделена статья. Обратите внимание, что оно начинается с 0, поэтому к общему количеству страниц необходимо прибавить 1.
Для p = 0 to ubound(ContentStr)
'Ссылка по-прежнему является этой страницей, но после параметра идентификатора статьи добавляется параметр подкачки: страница
%>
<a href="display.asp?ID=<%=rsquest("ID")%>&page=<%=p%>" class=""><%=p+1%></a>
<% Следующая %> страница
Это очень просто.Если удалить все комментарии, то останется всего 15 строк кода, но его еще нужно обработать, чтобы в нем были функции выделения предыдущей страницы, следующей страницы и текущей страницы. .
Проверено. Если в статье не появится разрыв страницы, все типы не будут работать неправильно. Конечно, вы можете увеличить количество |||, например: ||||||, а затем шесть "|". или меньше. Все хорошо, но если их больше шести, то просто выберите хороший разрыв страницы.