เอเอสพี

แนะนำ ASP

ASP (Active Server Page) เป็นเทคโนโลยีที่ทำงานทางฝั่งด้านเซิร์ฟเวอร์ ที่ถูกออกแบบมาให้ง่ายต่อการพัฒนาแอปพลิเคชันผ่านเว็บเซิร์ฟเวอร์สำหรับนักพัฒนาเว็บไซต์ 
การใช้งาน ASP สามารถกระทำได้โดยเขียนคำสั่งหรือสคริปต์ต่างๆ ในรูปของเท็กซ์ไฟล์ธรรมดาทั่วๆไป แล้วนำมาเก็บไว้ที่เซิร์ฟเวอร์ เมื่อมีการเรียกใช้งานจากเบราว์เซอร์ ไฟล์เอกสาร ASP ก็จะถูกแปลโดย Server Interpreter แล้วส่งผลที่ได้ส่งกลับไปเป็นภาษา HTML ให้เบราว์เซอร์ที่เรียกดังกล่าว 
เนื่องจาก ASP สามารถรองรับได้หลายภาษา เช่น VBScript ,Jscript ,Perl และภาษาสคริปต์อื่นๆ ดังนั้นนักพัฒนาเว็บไซต์จึงไม่มีความจำเป็นต้องมีความรู้หรือต้องศึกษาในทุกภาษาเนื่องจาก ASP ได้ถูกออกแบบมาให้ขึ้นกับความรู้ของนักพัฒนาเว็บไซต์นั่นเอง 
การทำงานของโปรแกรม ASP นั้นจะทำงานอยู่ที่ฝั่งของ Server เท่านั้น เราจึงเรียกว่าเป็นการทำงานแบบ Server Side ซึ่งจากการทำงานทางฝั่ง Server ของ ASP นั้น ทำให้ Web Browser ของฝั่ง Client จะทำหน้าที่เพียงรับผลลัพธ์ที่ได้จากการทำงานทางฝั่ง Server เท่านั้น โดยอ้าย

ตัวอย่างการใช้งาน ASP (VBScript)

ตัวอย่างในหน้านี้ เป็นการทำงานแบบ Server-Side Script ร่วมกับการใช้ HTML ดังนี้:
<%
' บรรทัดนี้ไม่มีความหมายอะไร; นอกจากเป็นแค่ หมายเหตุ (comment).:

Response.Write ("Wikipedia") ' โค้ดในบรรทัดนี้จะพิมพ์คำว่า "Wikipedia" ไปในเว็บเบราว์เซอร์.

%>
<% 
Dim X     ' ตรวจสอบทุกครั้งว่าคุณได้ประกาศตัวแปรที่จะเรียกใช้

X = 1     ' X คือค่าที่เราจะใช้ในตัวอย่างนี้

If X = 1 Then
%>

<b>X มีค่าเท่ากับหนึ่ง</b>

<% Else %>

<b>X มีค่าไม่เท่ากับหนึ่ง</b>

<% End If %>

รหัสที่อยู่ระหว่าง <% ... %> จะผ่านการทำงานจากเซิร์ฟเวอร์ โดยจะแสดงผลเป็น HTML คือ <b>X equals one</b> เมื่อค่า X บนฝังเซิร์ฟเวอร์ มีค่าเท่ากับ 1.
ในการที่เราเปิดและปิดแท็ก <% %> บ่อยเท่าไรก็ไม่เป็นผล เพราะนั้นเป็นแค่การเปิดและปิดการทำงานของ ASP engine เท่านั้น. จากตัวอย่างด้านบน เราสามารถหาหนทางอื่นได้ เช่น:
<%
Dim strWikiPedia

strWikiPedia = "free"

' นี่คือตัวอย่างของ ASP VBScript ล้วนๆ เพื่อทำงาน...

If strWikiPedia = "free" then

   Response.write "ใช้งานได้ฟรี โดยไม่ต้องใช้ บัตรเครดิต"

Else

   Response.write "หาบัตรเครดิตมาจ่ายซะ หรือคลิกที่แบนเนอร์"

End If
%>
หลังจากที่เราเริ่มใช้ "ค่าคงที่" ไปแล้ว, คราวนี้เราจะใช้เรียกข้อมูลจากวัตถุ. การเรียกข้อมูลจากวัตถุเป็นสิ่งที่หน้าสนใจอย่างหนึ่ง เราสามารถเรียกมันได้จาก "ข้อความสอบถาม" (query string) หรือจาก "ฟอร์ม" (form) ที่ส่งเข้ามา ซึ่งคุณควรจะรู้ความแตกต่างระหว่าง "post" และ "get". "get" จะถูกตั้งค่าให้อยู่ในข้อความสอบถาม (Request.QueryString () ). "post" จะถูกตั้งค่าในฟอร์ม (Request.Form () ).  ดังตัวอย่าง ดังนี้.
<form action="pagename.asp" method="get">
   <input type="text" name="Name" /><br />
   <input type="Submit" />
</form>
<%

strName = request.querystring ("Name") ' ทำการเรียกตัวแปรชื่อ Name จากฟอร์ม

If strName <> "" Then ' ถ้าค่า "strName" ไม่มีค่าเท่ากับ "" (ค่าว่าง) แล้ว

   ' ในบรรทัดถัดไป ให้เขียนคำว่า "ยินดีต้อนรับเข้าสู่วิกิพีเดีย ",
   ' แล้วตามด้วยชื่อของผู้เปิด.

   Response.write "ยินดีต้อนรับเข้าสู่วิกิพีเดีย " & strName

End If
%>
โค้ดด้านบนที่กล่าวมา เป็นการขอให้ผู้ใช้ ใส่ชื่อในฟอร์ม.  เมื่อผู้ใช้กด "Submit", ฟอร์มจะทำการเปิดหน้านั้นใหม่อีกครั้ง แล้วจึงแสดงชื่อ และข้อความต้อนรับสู่วิกีพีเดีย
จากการสังเกตโค๊ดด้านบน, คุณอาจสังเกตว่า โค๊ดที่เขียนขึ้นนี้ คล้ายการพัฒนาโปรแกรมทั่วๆ ไป ใน Visual Basic 6.0
แต่ในที่นี้ โครงสร้างการเขียน (syntax) ของการแสดงข้อความออกมาดูเปลี่ยนไป. Response.write เป็นคำสั่ง ในการเขียนบ้างอย่างไปยังเบราว์เซอร์เครื่องลูกข่าย.
ในทำนองเดียวกัน, Response.clear เป็นคำสั่งในการล้างเนื้อหาที่เก็บไว้ในบัฟเฟอร์ (buffer) , ที่เก็บข้อมูลสำรอง (temporary memory storage location).

ย้าย ASP ไปยัง ASP.NET 1.x

ASP to ASP.NET v1.x Migration Assistant เป็นโปรแกรมที่ช่วยคุณย้ายหน้า ASP เดิมไปยังเว็บเอ็พพลิเคชันบน ASP.NET. เนื่องจากว่าโครงสร้าง และรูปแบบการพัฒนาบน ASP.NET นั้นแตกต่างกันมาก การโยกย้ายนั้นไม่ใช่ระบบอัตโนมัติทั้งหมด แต่จะช่วยการย้ายให้รวดเร็วขึ้นในบางขั้นตอนที่จำเป็น.

Apache::ASP

Apache::ASP เป็นโปรแกรมในการทำงานของ ASP บนเซิร์ฟเวอร์ Apache ที่ปกติจะทำงานเฉพาะกับภาษาประเภท Perl เท่านั้น ซึ่งทำให้เรา สามารถใช้งาน ASP รวมไปถึงการใช้ Session และ ยังคงสามารถใช้ภาษา Perl ได้