طبعا كلنا نعرف طرق ادراج الصفحات مثل ال include أو server.Execute لكن البعض قد يجد مشكلة في إدراج الصفحات و قد يخطئ أحيانا في اسم الصفحة فكيف نتصرف في مثل هذه المواقف ؟؟ خطر في بالي هذا المثال لعل البعض يستفيد منه و هو في الحقيقة يعطينا أسلوبا حديثا في كتابة الأكواد بدل الطرق التقليدية ..
<%
Function pageCaller(page)
pos=InstrRev(page,".")
ext=mid(page,pos+1)
if InStr(page,".")=0 or Len(ext)<3 then
response.write("Error in page load.")
else
server.execute(page)
end if
End Function
%>
<table border="0">
<tr>
<%call pageCaller("poll.asp")%>
</tr>
</table>من الكود السابق يتضح أننا استدعينا الدالة pageCaller و التي تأخذ باراميتر و هو اسم الصفحة و هو عبارة عن سلسلة حرفية ..
وظيفة الدالة :
تقوم الدالة بأخذ اسم الصفحة ثم تفحص الاسم هل هو صحيح أم لا .. كيف؟؟ تقوم اولا برؤية هل توجد إشارة النقطة في الاسم ؟؟ طبعا اذا كانت غير موجودة إذا لا يوجد امتداد و هذا خطأ .. ثم تتأكد من امتداد الصفحة هل هو أقل من 3 حروف أم لا .. إن كان أقل فسيظهر أيضا خطأ.. في حال عدم وجود امتداد للملف او ان الامتداد كان أقل من 3 حروف ستظهر سالة خطأ في تحميل الصفحة و إذا لم يحدث خطأ فسيتم إدراجها ..
ما الفائدة من ذلك ؟؟
اعتقد ان الفائدة تكمن في تغيير الطرق العادية كما أننا استخدمنا server.Execute فالقليل منا يستخدمه و أهم شيء إمكانية إظهار رسالة خطأ في حال وجود خطأ في اسم الصفحة ..
كيف أطور الكود ؟؟
بسيطة .. هناك فكرة جميلة إذا عملتها ما ظل تطوير على الكود و هي إضافة سطر يبحث عن الملف و يعود بقيمة منطقية True or False و السطر هذا و ظيفته معرفة هلل الملف موجود فعلا على السيرفر أم لا .. و يضاف الناتج للشرط فأما تظهر رسالة الخطأ من السببين السابقين او بسبب عدم وجود الملف على السيرفر أو تكون موجودة و بلا مشاكل فتظهر الصفحة ..
ما رأيكم بهذا الدرس البسيط ؟؟