مرجع سریع ASP

مرجع سریع ASP از CodeW3C.com. چاپ کنید، در جیب خود قرار دهید، برای استفاده در هر زمان آماده باشید.

زبان پایه

اسکریپت‌های ASP توسط <% و %> احاطه شده‌اند. این‌گونه محتوا به مرورگر ارسال می‌شود:

<html>
<body>
<% response.write("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 برای نشان‌دادن مسیر شروع شده با دایرکتوری مجازی استفاده کنید. اگر فایل به نام "header.inc" در دایرکتوری مجازی به نام /html قرار دارد، آنگاه کد زیر محتوای "header.inc" را وارد می‌کند:

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

برای اشاره به مسیرهای مربوطه از کلمه‌کلیدی file استفاده کنید. مسیرهای مربوطه با پوشه‌ای که فایل مرجع را شامل می‌کند، آغاز می‌شود. اگر فایل شما در پوشه 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 انجام دهند و چه کاری را در هنگام پایان application/session انجام دهند. کد این وظایف در برنامه‌های رویداد قرار دارد.

نکته: هنگام اضافه کردن کد به فایل Global.asa، از <% و %> استفاده نمی‌کنیم، بلکه باید زیربرنامه‌ها را در برچسب <script> HTML قرار دهیم:

<script language="vbscript" runat="server">
sub Application_OnStart
  ' some code
end sub
sub Application_OnEnd
  ' some code
end sub
sub Session_OnStart
  ' some code
end sub
sub Session_OnEnd
  ' some code
end sub
</script>

<object> تعریف

با استفاده از برچسب <object>، می‌توانید در Global.asa نیز اشیایی با دامنه session یا application ایجاد کنید.

نکته: برچسب <object> باید خارج از برچسب <script> قرار گیرد!

قوانین:

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

اعلام TypeLibrary

TypeLibrary یک محفظه محتوای DLL است که با شیء COM مطابقت دارد. با درج فراخوانی TypeLibrary در فایل Global.asa، می‌توان به مقادیر ثابت شیء COM دسترسی پیدا کرد و کد ASP نیز می‌تواند خطاهای بهتر گزارش دهد. اگر برنامه وب شما از شیء COM با نوع داده‌ای که در نوع‌بان تعریف شده است، وابسته است، می‌توانید این نوع‌بان را در Global.asa اعلام کنید.

قوانین:

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

Session

Session برای ذخیره اطلاعات مربوط به session کاربر یا تغییر تنظیمات آن استفاده می‌شود. متغیرهای موجود در Session دارای اطلاعات مربوط به یک کاربر خاص هستند و می‌توانند توسط همه صفحات یک برنامه دسترسی پیدا کنند.

مجموعه

  • Contents - شامل همه ورودی‌هایی که از طریق دستورات اسکریپت به session اضافه می‌شوند
  • StaticObjects - شامل همه شیءهایی که از طریق تگ <object> HTML به session اضافه شده‌اند
  • Contents.Remove(item/index) - حذف یک پروژه از مجموعه Contents
  • Contents.RemoveAll() - حذف همه پروژه‌ها از مجموعه Contents

ویژگی

  • CodePage - تعیین مجموعه کاراکترهایی که برای نمایش محتوای پویا استفاده می‌شود
  • LCID - تنظیم شناسه منطقه‌ای برای نمایش محتوای پویا
  • SessionID - بازگشت شناسه session
  • Timeout - تنظیم یا بازگشت زمان اتمام session

روش

  • Abandon - لغو همه شیءهای موجود در شیء session.

شیء Application

یک مجموعه از فایل‌های ASP که برای تکمیل یک وظیفه با هم کار می‌کنند، برنامه نامیده می‌شود. در ASP، شیء Application برای پیوستن این فایل‌ها استفاده می‌شود. تمام کاربران یک شیء Application را پیوند می‌دهند. شیء Application باید اطلاعات موجود در بسیاری از صفحات برنامه را داشته باشد (مثلاً اطلاعات اتصال به دیتابیس).

مجموعه

  • محتوای - شامل همه پروژه‌هایی که از طریق دستورات اسکریپت به برنامه اضافه می‌شوند
  • StaticObjects - شامل تمام اشیائی است که با استفاده از برچسب <object> HTML به برنامه اضافه شده‌اند
  • Contents.Remove - یک مورد از مجموعه Contents را حذف می‌کند
  • Contents.RemoveAll - تمام موارد در مجموعه Contents را حذف می‌کند

روش

  • Lock - از تغییر متغیرهای Application object جلوگیری می‌کند
  • Unlock - به کاربر اجازه می‌دهد که متغیرهای Application object را تغییر دهد

Response object

Response object برای ارسال خروجی از سرور به کاربر استفاده می‌شود

مجموعه

Cookies(name) - مقدار کوکی را تنظیم می‌کند. اگر وجود ندارد، کوکی جدید ایجاد می‌شود و مقدار مشخص شده تنظیم می‌شود

ویژگی

  • Buffer - تعیین می‌کند که آیا خروجی باید بیندازد. وقتی خروجی بیندازد، سرور پاسخ به مرورگر را متوقف می‌کند تا تمام اسکریپت‌های سرور پردازش شوند یا تا زمانی که اسکریپت‌ها Flush یا End را فراخوانی کنند
  • CacheControl - تنظیم می‌کند که آیا سرور می‌تواند خروجی ASP را ذخیره کند. اگر Public باشد، سرور صفحات را ذخیره می‌کند
  • Charset(charset_name) - نام زبان نویسی را به سرخط content-type Response object اضافه می‌کند
  • ContentType - نوع محتوای HTTP Response object را تنظیم می‌کند. (مثلاً "text/html", "image/gif", "image/jpeg", "text/plain"). پیش‌فرض "text/html" است
  • Expires - زمانی که صفحات وب در حافظه مرورگر منقضی می‌شوند را تنظیم می‌کند (به دقیقه)
  • ExpiresAbsolute - تاریخ و زمانی که صفحات وب در حافظه مرورگر منقضی می‌شوند را تنظیم می‌کند
  • IsClientConnected - نشان می‌دهد که آیا کاربر از سرور قطع شده است یا خیر
  • Pics(pics_label) - مقدار به نشانه PICS در سرخط پاسخ اضافه می‌کند
  • Status - مقدار خط وضعیت که توسط سرور بازگردانده می‌شود را تعیین می‌کند

روش

  • AddHeader(name, مقدار) - سرخط‌های جدید HTTP و مقادیر آن را به پاسخ HTTP اضافه می‌کند
  • AppendToLog string - به پایان ثبت پروژه (server log entry) در سرور پیام اضافه می‌کند
  • BinaryWrite(data_to_write) - 在没有任何字符转换的情况下直接向输出写数据
  • Clear - 清除已缓冲的输出。使用该方法来处理错误。如果 Response.Buffer 未设置为 true,该方法将产生 run-time 错误
  • End - 停止处理脚本,并返回当前的结果
  • Flush - 立即发送已缓存的输出。如果 Response.Buffer 未设置为 true,该方法将产生 run-time 错误
  • Redirect(url) - هدایت کاربر به یک URL دیگر
  • Write(data_to_write) - نوشتن متن برای کاربر

شیء Request

وقتی که مرورگر درخواست صفحهای از سرور را می‌کند، این درخواست به عنوان request نامیده می‌شود. شیء request برای دریافت اطلاعات از کاربر استفاده می‌شود.

مجموعه

  • ClientCertificate - شامل مقادیر فیلدهای ذخیره شده در گواهینامه مشتری
  • Cookies(name) - شامل مقادیر کوکی
  • Form(element_name) - شامل مقادیر فرم. این فرم باید از روش POST استفاده کند
  • QueryString(variable_name) - شامل مقادیر متغیرهای جستجو
  • ServerVariables(server_variable) - شامل مقادیر متغیرهای سرور

ویژگی

  • TotalBytes - بازگرداندن تعداد کل بایت‌هایی که توسط کلاینت در متن درخواست ارسال شده‌اند

روش

  • BinaryRead - بازگرداندن داده‌هایی که به عنوان بخشی از درخواست POST از کلاینت به سرور ارسال شده‌اند

شیء Server

شیء Server برای دسترسی به ویژگی‌ها و روش‌های سرور استفاده می‌شود.

ویژگی

ScriptTimeout - تنظیم یا بازگرداندن مدت زمانی که یک اسکریپت می‌تواند قبل از توقف اجرا شود.

روش

  • CreateObject(type_of_object) - ایجاد نمونه یک شیء
  • Execute(مسیر) - اجرای یک ASP دیگر از داخل یک فایل ASP. پس از اتمام اجرای فایل ASP فراخوانده شده، کنترل به فایل ASP اول بازمی‌گردد
  • ) - بازگرداندن ASPError برای توضیح خطای رخ داده
  • HTMLEncode(string) - کدگذاری HTML برای رشته‌ها
  • MapPath(مسیر) - محاسبه مسیر فیزیکی از مسیر مطلق یا مجازی
  • Transfer(مسیر) - ارسال همه اطلاعات حالت به یک فایل دیگر برای پردازش. پس از ارسال، کنترل برنامه به فایل ASP اصلی باز نمی‌گردد
  • URLEncode(string) - کاربرد قوانین URL برای رشته‌ها

منبع: http://www.codew3c.com/asp/asp_quickref.asp