مرجع سريع لـ ASP

مرجع سريع ل ASP من CodeW3C.com. اطبعها، ضعها في جيبك، للاستخدام في أي وقت.

القواعد الأساسية

كود ASP محاط ب <% و %> . بهذه الطريقة يتم إرسال محتوى إلى المتصفح:

<html>
<body>
<% الرسالة.كتابة("Hello World!") %>
</body>
</html>

اللغة الافتراضية في ASP هي VBScript. إذا كنت ترغب في استخدام لغة سكربت أخرى، فيجب أن تضيف بيان تعريف اللغة في الجزء العلوي من صفحة ASP:

<%@ language="javascript" %>
<html>
<body>
<%
....
%>

النماذج والمدخلات المستخدمة

يستخدم "Request.QueryString" لجمع القيم من النموذج الذي يحتوي على "method="get". تكون المعلومات التي يتم إرسالها من خلال GET مرئية للجميع (ستظهر في شريط العناوين المتصفح)، ويوجد هناك أيضًا حد للكمية التي يمكن إرسالها.

يستخدم "Request.Form" لجمع القيم من النموذج الذي يحتوي على "method="post". تكون المعلومات التي يتم إرسالها من خلال POST غير مرئية للآخرين، وليس هناك حد للكمية التي يمكن إرسالها.

كوكي ASP

يستخدم الكوكي عادة لتحديد المستخدم. الكوكي هو ملف صغير يوضع على جهاز المستخدم من قبل الخادم. كلما قام نفس الجهاز بطلب صفحة من خلال المتصفح، يتم أيضًا إرسال الكوكي.

يستخدم أمر "Response.Cookies" لإنشاء كوكي:

<%
Response.Cookies("firstname")="Alex"
Response.Cookies("firstname").Expires="May 10,2012"
%>

ملاحظة: يجب أن تكون أمر "Response.Cookies" موجودًا قبل علامة <html>!

استخدم أمر "Request.Cookies" لاسترداد قيمة الكوكي:

<%
fname=Request.Cookies("firstname")
response.write("Firstname=" & fname)
%>

إدراج الملف

من خلال تعليمات #include، يمكنك إدراج محتويات ملف ASP في ملف ASP آخر قبل تنفيذ الخادم. تعليمات #include تستخدم لإنشاء الدوال، الرؤوس، الأقدام، أو العناصر التي يتم تكرار استخدامها في عدة صفحات.

القواعد:

<!--#include virtual="somefile.inc"-->

أو

<!--#include file ="somefile.inc"-->

استخدم كلمة المفتاح virtual لتشير إلى مسار يبدأ بVirtual Directory. إذا كان الملف المسمى "header.inc" موجودًا في Virtual Directory المسمى /html، فإن الكود التالي سيقوم بإدراج محتويات "header.inc":

<!-- #include virtual ="/html/header.inc" -->

استخدم الكلمة المفتاحية file لتشير إلى المسار relatif. المسار relatif يبدأ من مجلد يحتوي على الملف المشار إليه. إذا كان ملفك في مجلد html، وملف "header.inc" في html\headers، فإن الكود التالي سيقوم بإدراج محتويات "header.inc" في ملفك:

<!-- #include file ="headers\header.inc" -->

استخدم الكلمة المفتاحية file مع النحو (..\) لتشير إلى مجلدات أعلى المستوى.

Global.asa

ملف Global.asa هو ملف اختياري يمكن أن يحتوي على بيانات الأوبجكت، المتغيرات والأساليب التي يمكن الوصول إليها من قبل كل صفحة في تطبيق ASP.

التعليق: يجب أن يكون ملف Global.asa موجودًا في مجلد الجذر للتطبيق ASP، ويمكن لكل تطبيق أن يحتوي على ملف Global.asa واحد فقط.

يمكن أن يحتوي ملف Global.asa فقط على ما يلي:

  • أحداث Application
  • أحداث Session
  • <object> الاشارة
  • إعلان TypeLibrary
  • تعليمات #include

أحداث Application و Session

في Global.asa، يمكنك إخبار عن ما يجب القيام به عند بدء application أو session، وما يجب القيام به عند إنتهاء application أو session. رمز تنفيذ هذه المهمة موجود في معالج الحدث.

التعليق: عند إدراج رمز في ملف Global.asa، لا نستخدم <% و %>، نحن نضع النصوص البرمجية داخل رمز <script> في HTML:

<script language="vbscript" runat="server">
sub Application_OnStart
  ' بعض الكود
end sub
sub Application_OnEnd
  ' بعض الكود
end sub
sub Session_OnStart
  ' بعض الكود
end sub
sub Session_OnEnd
  ' بعض الكود
end sub
</script>

<object> الاشارة

يمكنك أيضًا إنشاء أوبجكت يحتوي على نطاق session أو application باستخدام رمز <object> في Global.asa.

التعليق: يجب أن يكون رمز <object> خارج رمز <script>!

القواعد:

<object runat="server" scope="scope" id="id"
{progid="progID"|classid="classID"}>
.......
</object>

إعلان TypeLibrary

TypeLibrary هو حاوي لمحتوى ملف DLL الذي ي对应 لـ COM Objects. من خلال تضمين دعوة إلى TypeLibrary في ملف Global.asa، يمكنك الوصول إلى المعادلات الثابتة لـ COM Objects، كما يمكن لـ ASP Code أن يرتبط بشكل أفضل بالأخطاء. إذا كان تطبيق الويب الخاص بك يعتمد على COM Objects تم إعلان أنواعها في مكتبة الأنواع، يمكنك إعلان هذه المكتبة في Global.asa.

القواعد:

<!--
METADATA TYPE="TypeLib"
file="filename"
uuid="typelibraryuuid"
version="versionnumber"
lcid="localeid"
-->

موضوع Session

يستخدم موضوع Session لتحديد معلومات حول session المستخدم أو تعديل إعداداته. يتم تخزين المتغيرات في موضوع Session تحتوي على معلومات عن مستخدم واحد فقط وهي قابلة للوصول إليها من جميع الصفحات في التطبيق.

المجموعة

  • Contents - تحتوي على جميع العناصر التي يتم إضافتها إلى session باستخدام أوامر البرمجة
  • StaticObjects - تحتوي على جميع العناصر التي يتم إضافتها إلى session باستخدام علامة <object> في HTML
  • Contents.Remove(item/index) - إزالة عنصر واحد من مجموعة Contents
  • Contents.RemoveAll() - إزالة جميع العناصر من مجموعة Contents

الصفات

  • CodePage - تحديد مجموعة الحروف المستخدمة لعرض المحتوى الديناميكي
  • LCID - ضبط معرف المنطقة المستخدم لعرض المحتوى الديناميكي
  • SessionID - العودة إلى معرف session
  • Timeout - ضبط أو العودة إلى وقت انتهاء صلاحية session

الطريقة

  • Abandon - إلغاء جميع العناصر في موضوع session

موضوع Application

مجموعة من ملفات ASP التي تعمل معًا لإنجاز مهمة ما تُسمى تطبيقًا. يستخدم موضوع Application في ASP لربط هذه الملفات معًا. يتم ربط جميع المستخدمين بموضوع Application. يجب أن يحتوي موضوع Application على معلومات يستخدمها العديد من الصفحات في التطبيق (مثل معلومات اتصال قاعدة البيانات).

المجموعة

  • محتويات - تحتوي على جميع العناصر التي يتم إضافتها إلى التطبيق باستخدام أوامر البرمجة
  • StaticObjects - تحتوي على جميع الأ�체زيمات التي يتم إضافتها إلى التطبيق باستخدام علامة <object> في HTML
  • Contents.Remove - إزالة عنصر واحد من مجموعة Contents
  • Contents.RemoveAll - إزالة جميع العناصر من مجموعة Contents

الطريقة

  • Lock - منع المستخدم من تعديل المتغيرات في Object التطبيق
  • Unlock - السماح للمستخدم بتعديل المتغيرات في Object التطبيق

Object الاستجابة

Object الاستجابة يستخدم لتحويل النص من الخادم إلى المستخدم.

المجموعة

Cookies(name) - تعيين قيمة الكوكي. إذا لم يكن موجودًا، يتم إنشاء كوكي جديد ثم تعيين القيمة المحددة.

الصفات

  • Buffer - تحديد ما إذا كان يجب توفير النص. عند تعيين إخراج التخزين المؤقت، يمنع الخادم إرسال الاستجابة إلى المتصفح حتى يتم معالجة جميع سكريpts الخادم، أو حتى يتم استدعاء Flush أو End 方法. إذا كنت تريد تعيين هذه الخاصية، يجب أن تكون في بداية ملف .asp قبل علامة <html>.
  • CacheControl - تحديد ما إذا كان يمكن للخادم المحلل التخزين المؤقت للنواتج التي ينتجها ASP. إذا تم تعيينه على Public، فإن الخادم المحلل سيخزن الصفحة.
  • Charset(charset_name) - إضافة اسم النظام الرقمي إلى رأس content-type في Object الاستجابة.
  • ContentType - تعيين نوع المحتوى HTTP في Object الاستجابة. (مثل "text/html", "image/gif", "image/jpeg", "text/plain"). القيمة الافتراضية هي "text/html"
  • Expires - تعيين وقت المخزن المؤقت للصفحة قبل انتهاء الصلاحية (دقائق)
  • ExpiresAbsolute - تعيين تاريخ وتوقيت انتهاء الصلاحية للصفحة في مخزن المستعرض
  • IsClientConnected - تحديد ما إذا كان العملاء قد انقطعوا عن الخادم
  • Pics(pics_label) - إضافة قيمة إلى علامة PICS في رأس الاستجابة
  • Status - تحديد قيمة سطر الحالة الذي سيتم إرجاعه من الخادم

الطريقة

  • AddHeader(name, value) - إضافة رأس HTTP جديد وقيمة إلى استجابة HTTP
  • AppendToLog string - إضافة نص إلى نهاية سجل الخادم (server log entry)
  • BinaryWrite(data_to_write) - يتم كتابة البيانات مباشرة إلى الناتج دون تحويل أي حروف
  • Clear - يتم حذف النص المخزن مؤقتًا. يتم استخدام هذا الأسلوب للتعامل مع الأخطاء. إذا لم يتم تعيين Response.Buffer إلى true، فإن هذا الأسلوب سينتج عنه خطأ في الوقت التشغيل
  • End - يتم إيقاف معالجة السكربت، وإرجاع النتيجة الحالية
  • Flush - يتم إرسال النص المخزن مؤقتًا على الفور. إذا لم يتم تعيين Response.Buffer إلى true، فإن هذا الأسلوب سينتج عنه خطأ في الوقت التشغيل
  • Redirect(url) - يتم توجيه المستخدم إلى URL آخر
  • Write(data_to_write) - يكتب نصًا للمستخدم

Object Request

عندما يطلب المتصفح صفحة من الخادم، يُدعى ذلك بطلب. يتم استخدام Object Request للحصول على معلومات المستخدم

المجموعة

  • ClientCertificate - يحتوي على قيم الحقول المخزنة في بطاقة العملاء
  • Cookies(name) - يحتوي على قيم ملفات الحلوى
  • Form(element_name) - يحتوي على قيم النموذج. يجب أن يستخدم النموذج طريقة POST
  • QueryString(variable_name) - يحتوي على قيم متغيرات السؤال
  • ServerVariables(server_variable) - يحتوي على قيم متغيرات الخادم

الصفات

  • TotalBytes - يعيد إجمالي عدد البايتات التي أرسلتها المستخدمة في نص الطلب

الطريقة

  • BinaryRead - يعيد البيانات التي تم إرسالها من قبل المستخدم إلى الخادم كجزء من طلب POST

Object Server

يستخدم Object Server للاستفادة من الصفات والطرق على الخادم

الصفات

ScriptTimeout - يحدد أو يعيد قيمة الوقت الذي يمكن أن يستغرقه سكربت قبل التوقف

الطريقة

  • CreateObject(type_of_object) - يتم إنشاء نموذج من النوع
  • Execute(path) - يتم تنفيذ ASP ملف آخر من داخل ملف ASP. عند اكتمال تنفيذ ملف ASP المُتدعى عليه، يتم إرجاع السيطرة إلى ملف ASP الأصلي
  • ) - يعيد ASPError Object يصف الخطأ الذي حدث
  • HTMLEncode(string) - يطبق الترميز HTML على النص
  • MapPath(path) - يرسم المسار المطلق أو الافتراضي إلى المسار الفيزيائي
  • Transfer(path) - إرسال جميع معلومات الحالة إلى ملف آخر، للاستخدام في معالجة لاحقة. لن يعود السيطرة على البرنامج إلى ملف ASP الأصلي بعد الإرسال
  • URLEncode(string) - تطبيق قواعد الترميز URL على النص

المصدر: http://www.codew3c.com/asp/asp_quickref.asp