ข้อมูลอ้างอิงด่วนของ ASP
ข้อมูลอ้างอิงด่วน ASP จาก W3Schools พิมพ์แล้วพับใส่กระเป๋า
ไวยากรณ์พื้นฐาน
สคริปต์ ASP ล้อมรอบด้วย <% และ %> ในการเขียนผลลัพธ์ไปยังเบราว์เซอร์:
<html>
<body>
<% response.write("สวัสดีชาวโลก!") %>
</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="พฤษภาคม 10,2002"
%>
หมายเหตุ:คำสั่ง Response.Cookies ต้องปรากฏก่อนแท็ก <html>!
คำสั่ง "Request.Cookies" ใช้เพื่อดึงค่าคุกกี้:
<%
fname=Request.Cookies("firstname")
response.write("Firstname=" & fname)
%>
รวมถึงไฟล์
คุณสามารถแทรกเนื้อหาของไฟล์ ASP หนึ่งไฟล์ลงในไฟล์ ASP อื่นก่อนที่เซิร์ฟเวอร์จะดำเนินการโดยใช้คำสั่ง #include คำสั่ง #include ใช้เพื่อสร้างฟังก์ชัน ส่วนหัว ส่วนท้าย หรือองค์ประกอบที่จะนำมาใช้ซ้ำในหลาย ๆ หน้า
ไวยากรณ์:
<!--#include virtual="somefile.inc"-->
หรือ
<!--#include file ="somefile.inc"-->
ใช้คีย์เวิร์ดเสมือนเพื่อระบุพาธที่ขึ้นต้นด้วยไดเร็กทอรีเสมือน หากไฟล์ชื่อ "header.inc" อยู่ในไดเร็กทอรีเสมือนชื่อ /html บรรทัดต่อไปนี้จะแทรกเนื้อหาของ "header.inc":
<!-- #include virtual ="/html/header.inc" -->
ใช้คีย์เวิร์ดของไฟล์เพื่อระบุพาธสัมพัทธ์ พาธสัมพัทธ์เริ่มต้นด้วยไดเร็กทอรีที่มีไฟล์รวม หากคุณมีไฟล์ในไดเร็กทอรี html และไฟล์ "header.inc" อยู่ใน html\headers บรรทัดต่อไปนี้จะแทรก "header.inc" ในไฟล์ของคุณ:
<!-- #include file ="headers\header.inc" -->
ใช้คำสำคัญไฟล์ที่มีไวยากรณ์ (..\) เพื่อรวมไฟล์จากไดเร็กทอรีระดับสูงกว่า
Global.asa
ไฟล์ Global.asa เป็นไฟล์ทางเลือกที่สามารถมีการประกาศอ็อบเจ็กต์ ตัวแปร และเมธอดที่สามารถเข้าถึงได้โดยทุกหน้าในแอปพลิเคชัน ASP
หมายเหตุ:ไฟล์ Global.asa ต้องเก็บไว้ในไดเร็กทอรีรากของแอปพลิเคชัน ASP และแต่ละแอปพลิเคชันสามารถมีไฟล์ Global.asa ได้เพียงไฟล์เดียวเท่านั้น
ไฟล์ Global.asa สามารถมีได้เฉพาะสิ่งต่อไปนี้:
- กิจกรรมการสมัคร
- งานกิจกรรม
- <object> ประกาศ
- ประเภทการประกาศห้องสมุด
- คำสั่ง #include
การสมัครและเหตุการณ์ของเซสชั่น
ใน Global.asa คุณสามารถบอกแอปพลิเคชันและวัตถุของเซสชันว่าต้องทำอย่างไรเมื่อแอปพลิเคชัน/เซสชันเริ่มต้น และต้องทำอย่างไรเมื่อแอปพลิเคชัน/เซสชันสิ้นสุดลง รหัสนี้อยู่ในตัวจัดการเหตุการณ์ หมายเหตุ:เราไม่ได้ใช้ <% และ %> ในการแทรกสคริปต์ในไฟล์ Global.asa เราต้องใส่รูทีนย่อยในแท็ก HTML <script>:
<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> ประกาศ
นอกจากนี้ยังสามารถสร้างออบเจ็กต์ที่มีขอบเขตเซสชันหรือแอปพลิเคชันใน Global.asa โดยใช้แท็ก <object> หมายเหตุ:แท็ก <object> ควรอยู่นอกแท็ก <script>!
ไวยากรณ์:
<object runat="server" scope="scope" id="id"
{progid="progID"|classid="classID"}>
.......
</object>
ประเภทLibrary Declarations
TypeLibrary เป็นคอนเทนเนอร์สำหรับเนื้อหาของไฟล์ DLL ที่สอดคล้องกับวัตถุ COM การรวมการเรียกไปยัง TypeLibrary ในไฟล์ Global.asa ทำให้สามารถเข้าถึงค่าคงที่ของวัตถุ COM ได้ และรหัส ASP สามารถรายงานข้อผิดพลาดได้ดีขึ้น ถ้าเว็บแอปพลิเคชันของคุณใช้อ็อบเจ็กต์ COM ที่ได้ประกาศชนิดข้อมูลในไลบรารีชนิด คุณสามารถประกาศไลบรารีชนิดใน Global.asa ได้
ไวยากรณ์:
<!--METADATA TYPE="TypeLib"
file="filename"
uuid="typelibraryuuid"
version="versionnumber"
lcid="localeid"
-->
วัตถุเซสชัน
วัตถุเซสชันใช้เพื่อเก็บข้อมูลเกี่ยวกับหรือเปลี่ยนการตั้งค่าสำหรับเซสชันผู้ใช้ ตัวแปรที่จัดเก็บไว้ในออบเจ็กต์ Session จะเก็บข้อมูลเกี่ยวกับผู้ใช้คนเดียว และใช้ได้กับทุกหน้าในแอปพลิเคชันเดียว
ของสะสม
- เนื้อหา - เก็บทุกรายการที่เพิ่มในเซสชันด้วยคำสั่งสคริปต์
- StaticObjects - เก็บทุกอ็อบเจ็กต์ที่เพิ่มในเซสชันด้วยแท็ก <object> และ session . ที่กำหนด
- Contents.Remove( รายการ/ดัชนี ) - ลบรายการออกจากคอลเล็กชันเนื้อหา
- Contents.RemoveAll() - ลบทุกรายการออกจากคอลเล็กชันเนื้อหา
คุณสมบัติ
- CodePage - ตั้งค่าหน้ารหัสที่จะใช้เพื่อแสดงเนื้อหาแบบไดนามิก
- LCID - ตั้งค่าตัวระบุสถานที่ที่จะใช้เพื่อแสดงเนื้อหาแบบไดนามิก
- SessionID - ส่งกลับ session id
- หมดเวลา - ตั้งค่าการหมดเวลาสำหรับเซสชัน
วิธี
- ละทิ้ง - ฆ่าทุกวัตถุในวัตถุเซสชัน
แอพลิเคชันวัตถุ
กลุ่มของไฟล์ ASP ที่ทำงานร่วมกันเพื่อดำเนินการบางอย่างเรียกว่าแอปพลิเคชัน Application object ใน ASP ใช้เพื่อผูกไฟล์เหล่านี้เข้าด้วยกัน ผู้ใช้ทั้งหมดแบ่งปันวัตถุแอปพลิเคชันหนึ่งรายการ Application object ควรเก็บข้อมูลที่จะใช้โดยหลายหน้าในแอปพลิเคชัน (เช่นข้อมูลการเชื่อมต่อฐานข้อมูล)
ของสะสม
- เนื้อหา - เก็บทุกรายการที่เพิ่มลงในแอปพลิเคชันด้วยคำสั่งสคริปต์
- StaticObjects - เก็บทุกอ็อบเจ็กต์ที่เพิ่มลงในแอปพลิเคชันด้วยแท็ก <object>
- Contents.Remove - ลบรายการออกจากคอลเลกชัน
- Contents.RemoveAll - ลบทุกรายการออกจากคอลเลกชัน
วิธีการ
- ล็อค - ป้องกันไม่ให้ผู้ใช้เปลี่ยนคุณสมบัติของวัตถุแอปพลิเคชัน
- ปลดล็อก - อนุญาตให้ผู้ใช้เปลี่ยนคุณสมบัติของวัตถุแอปพลิเคชัน
วัตถุตอบกลับ
วัตถุตอบกลับใช้เพื่อส่งออกไปยังผู้ใช้จากเซิร์ฟเวอร์
ของสะสม
- คุกกี้ (ชื่อ) - ตั้งค่าคุกกี้ หากไม่มีคุกกี้ก็จะถูกสร้างขึ้นและรับค่าที่ระบุ
คุณสมบัติ
- บัฟเฟอร์ - จะบัฟเฟอร์เอาต์พุตหรือไม่ เมื่อเอาต์พุตถูกบัฟเฟอร์ เซิร์ฟเวอร์จะระงับการตอบสนองจนกว่าสคริปต์เซิร์ฟเวอร์ทั้งหมดจะได้รับการประมวลผล หรือจนกว่าสคริปต์จะเรียกใช้เมธอด Flush หรือ End หากตั้งค่าคุณสมบัตินี้ ควรอยู่ก่อนแท็ก <html> ในไฟล์ ASP
- CacheControl - ตั้งค่าว่าพร็อกซีเซิร์ฟเวอร์สามารถแคชเอาต์พุตได้หรือไม่ เมื่อตั้งค่าเป็นสาธารณะ พร็อกซีเซิร์ฟเวอร์สามารถแคชเอาต์พุตได้
- ชุดอักขระ ( charset_name) -ตั้งชื่อชุดอักขระ (เช่น "ISO8859-1") เป็นส่วนหัวของประเภทเนื้อหา
- ContentType - ตั้งค่าประเภทเนื้อหา HTTP (เช่น "text/html", "image/gif", "image/jpeg", "text/plain") ค่าเริ่มต้นคือ "ข้อความ/html"
- หมดอายุ - ตั้งค่าระยะเวลาที่หน้าจะถูกแคชบนเบราว์เซอร์ก่อนที่จะหมดอายุ
- ExpiresAbsolute - ตั้งค่าวันที่และเวลาที่หน้าที่แคชไว้บนเบราว์เซอร์จะหมดอายุ
- IsClientConnected - ตรวจสอบว่าไคลเอ็นต์ยังคงเชื่อมต่อกับเซิร์ฟเวอร์อยู่หรือไม่
- Pics( pics_label ) - เพิ่มค่าให้กับส่วนหัวการตอบกลับของป้ายกำกับ รูปภาพ
- สถานะ - ระบุค่าของบรรทัดสถานะ
วิธีการ
- AddHeader( name, value ) - เพิ่มส่วนหัว HTML ด้วยค่าที่ระบุ
- สตริง AppendToLog -เพิ่มสตริงที่ส่วนท้ายของรายการบันทึกเซิร์ฟเวอร์
- BinaryWrite( data_to_write ) - เขียนข้อมูลที่กำหนดโดยไม่มีการแปลงชุดอักขระ
- ล้าง - ล้างเอาต์พุตที่บัฟเฟอร์ ใช้วิธีนี้เพื่อจัดการกับข้อผิดพลาด หากไม่ได้ตั้งค่า Response.Buffer เป็น true วิธีนี้จะทำให้เกิดข้อผิดพลาดรันไทม์
- สิ้นสุด - หยุดการประมวลผลสคริปต์และส่งคืนผลลัพธ์ปัจจุบัน
- Flush - ส่งเอาต์พุตบัฟเฟอร์ทันที หากไม่ได้ตั้งค่า Response.Buffer เป็น true วิธีนี้จะทำให้เกิดข้อผิดพลาดรันไทม์
- เปลี่ยนเส้นทาง ( url ) - เปลี่ยนเส้นทางผู้ใช้ไปยัง url อื่น
- เขียน ( data_to_write ) - เขียนข้อความถึงผู้ใช้
ขอวัตถุ
เมื่อเบราว์เซอร์ขอหน้าจากเซิร์ฟเวอร์จะเรียกว่าคำขอ Request Object ใช้เพื่อรับข้อมูลจากผู้ใช้
ของสะสม
- ClientCertificate - เก็บค่าฟิลด์ที่เก็บไว้ในใบรับรองไคลเอ็นต์
- คุกกี้ ( ชื่อ ) - เก็บค่าคุกกี้
- แบบฟอร์ม ( element_name ) - เก็บค่าแบบฟอร์ม (อินพุต) แบบฟอร์มต้องใช้วิธีการโพสต์
- QueryString( variable_name ) - เก็บค่าตัวแปรในสตริงการสืบค้น
- ServerVariables( server_variable ) - เก็บค่าตัวแปรของเซิร์ฟเวอร์
คุณสมบัติ
- TotalBytes - เก็บจำนวนไบต์ทั้งหมดที่ไคลเอ็นต์กำลังส่งในเนื้อหาของคำขอ
วิธี
- BinaryRead - ดึงข้อมูลที่ส่งไปยังเซิร์ฟเวอร์จากไคลเอนต์โดยเป็นส่วนหนึ่งของคำขอโพสต์
วัตถุเซิร์ฟเวอร์
Server Object ใช้เพื่อเข้าถึงคุณสมบัติและวิธีการบนเซิร์ฟเวอร์
คุณสมบัติ
- ScriptTimeout - กำหนดระยะเวลาที่สคริปต์สามารถทำงานก่อนสิ้นสุดการทำงาน
วิธี
- CreateObject( type_of_object ) - สร้างอินสแตนซ์ของ object
- ดำเนินการ ( เส้นทาง ) - เรียกใช้ไฟล์ ASP จากภายในไฟล์ ASP อื่น หลังจากรันไฟล์ ASP ที่เรียก การควบคุมจะถูกส่งกลับไปยังไฟล์ ASP ดั้งเดิม
- GetLastError() - ส่งกลับวัตถุ ASPError ที่จะอธิบายข้อผิดพลาดที่เกิดขึ้น
- HTMLEncode( string ) - ใช้การเข้ารหัส HTML กับ string
- MapPath( เส้นทาง ) - แมปเส้นทางสัมพัทธ์หรือเสมือนกับเส้นทางจริง
- โอน ( เส้นทาง ) - ส่งข้อมูลสถานะทั้งหมดไปยังไฟล์ ASP อื่นสำหรับการประมวลผล หลังจากถ่ายโอน การควบคุมตามขั้นตอนจะไม่ถูกส่งกลับไปยังไฟล์ ASP เดิม
- URLEncode( string ) - ใช้กฎการเข้ารหัส URL กับ string
ที่มา : https://www.w3schools.com/asp/asp_quickref.asp