يتم عرض صفحات المقالات الطويلة مع فواصل الصفحات، وأريد استخدام ASP لتنفيذ هذه الوظيفة، ولكن يمكنني أن أجد أنه لا يوجد سوى طريقة لترقيم الصفحات بناءً على عدد الكلمات، ولكن هذه الطريقة بها خطأ، هذا إذا كان هناك إذا كان كود UBB موجودًا في محتوى مقالتك، فمن السهل جدًا أن يؤدي ذلك إلى ترقيم الصفحات بين [code] [/code]، أو ببساطة تحلل [code] إلى [co وde]، مما يتسبب في حدوث أخطاء في عرض المقالة.
الخطوات التالية ستجعل هذا ممكنا.
الخطوة 1:
اتبع نظام المقالات العادي على طول الطريق. يتم تشغيل إضافة المقالات في الخلفية واسترجاع المقالات وصفحات التفاصيل بالطريقة المعتادة. لا يوجد وصف هنا، يرجى الرجوع إلى المنشورات ذات الصلة. فقط عند إضافة مقال، أضف فاصل صفحات حيث تريد أن يتم ترحيله إلى صفحات: "|||" (بالطبع، يمكنك استخدام هذا الرمز بشكل عرضي، مثل: [page]، &&&، ###، @@@ ... ، طالما لم يظهر في المكان الذي سيتم عرض المقالة فيه بشكل طبيعي)
استخدمت أربع صفحات، صفحة الإدخال (index.asp)، وصفحة إكمال الإدخال (add.asp)، وصفحة قائمة المقالات (عرض) .asp)، صفحة محتوى المقالة (display.asp)، الصفحات الثلاث الأولى هي الصفحات التي لا تحتاج إلى معالجة، بالنظر إلى الصورة أدناه، أعتقد أن الطائر العادي يمكنه القيام بذلك، والمفتاح هو العرض الأخير. جميع رموز الترحيل هنا .
الخطوة 2:
قم ببعض الحيل في جزء البيانات الديناميكية من نص المقالة، وفيما يلي الكود والشرح:
<%.
'هنا نحتاج إلى معالجة معلمات الترحيل المستلمة لعرض محتوى أي صفحة
'الجملتان التاليتان تهدفان إلى السماح للمتغير pageNum بأخذ قيمة الصفحة الأولى في حالة عدم تمرير أي معلمة للصفحة: 0
إذا كان الطلب ("الصفحة") = "" إذن
رقم الصفحة=0
'وإلا، قم بتعيين القيمة للمتغير كمعلمة في الصفحة التي تم تمريرها لعرض الصفحات الأخرى.
آخر
pageNum=طلب("الصفحة")
انتهي إذا
%>
<%
'إذا قمت بإضافة كود UBB للتنفيذ الاختياري، فيمكنك إضافة الكود التالي
'rs("NoUBB") هو حقل في قاعدة البيانات حول تعطيل UBB، 0 يعني تعطيل، 1 يعني تنفيذ
إذا rs("NoUBB")=0 إذن
'لتجنب الأخطاء في الاتصال بمحتوى المقالة، استخدم وظيفة الاستبدال لإضافة عرض كامل قبل رمز الترحيل وبعده "|||"
'rs("content") هو حقل النص في قاعدة البيانات، أضف UBB هنا أو قم بتعطيل UBB
Content=Replace((unHTML(rs("content"))),"|||"، " ||| ")
Elseif rs("NoUBB")=1 إذن
Content=Replace((ubb(rs("content"))),"|||"، " ||| ")
انتهي إذا
%>
<%
"هذا هو المفتاح."
'نستخدم وظيفة التقسيم لاستخراج المقالة إلى أقسام وتخزينها في المحتوى المتغير
ContentStr=split(المحتوى،"|||")
'وفقًا للمتغير الذي سيتم عرضه والذي تم الحصول عليه للتو من معلمة URL، سيتم عرض الصفحة في حلقة
بالنسبة إلى i=pageNum إلى pageNum
%>
<!--هذا هو نص المقال-->
<%=ContentStr %>
<% التالي %>
</td>
</tr>
<تر>
<td height="30" class="ClassName">تنقسم هذه المقالة إلى
<%
"في منطقة الترحيل، استخدم ubound(ContentStr) للحصول على عدد الصفحات التي تم تقسيم المقالة إليها. لاحظ أنه يبدأ من 0، لذا يجب إضافة إجمالي عدد الصفحات بمقدار 1
بالنسبة لـ p = 0 إلى ubound(ContentStr)
'لا يزال الرابط هو هذه الصفحة، ولكن تتم إضافة معلمة ترحيل بعد معلمة معرف المقالة: page
%>
<a href="display.asp?ID=<%=rsquest("ID")%>&page=<%=p%>" class=""><%=p+1%></a>
الصفحة <% التالي %>
إنه أمر بسيط للغاية، إذا قمت بحذف جميع التعليقات، فسيكون هناك 15 سطرًا فقط من التعليمات البرمجية، لكنها لا تزال بحاجة إلى المعالجة حتى تتمكن من الحصول على وظائف تسليط الضوء على الصفحة السابقة والصفحة التالية والصفحة الحالية .
لقد تم اختباره، ما لم يظهر فاصل الصفحات في المقالة، فلن تخطئ جميع الأنواع، بالطبع يمكنك زيادة عدد |||، على سبيل المثال: ||||||، ثم ستة "|". أو أقل يظهر في المقالة، كل شيء على ما يرام، ولكن إذا كان هناك أكثر من ستة، فسيتم تقسيمه إلى صفحات. ما عليك سوى اختيار فاصل صفحات جيد.