บทช่วยสอน ASP

ASP HOME

กวดวิชา WP

แนะนำหน้าเว็บ มีดโกนหน้าเว็บ เค้าโครงหน้าเว็บ โฟลเดอร์หน้าเว็บ หน้าเว็บทั่วโลก แบบฟอร์มหน้าเว็บ วัตถุหน้าเว็บ ไฟล์หน้าเว็บ ฐานข้อมูลหน้าเว็บ ผู้ช่วยหน้าเว็บ หน้าเว็บ WebGrid แผนภูมิหน้าเว็บ อีเมลหน้าเว็บ ความปลอดภัยของหน้าเว็บ เผยแพร่หน้าเว็บ ตัวอย่างหน้าเว็บ ชั้นเรียนของหน้าเว็บ

มีดโกน ASP.NET

แนะนำมีดโกน มีดโกนไวยากรณ์ มีดโกน C# ตัวแปร มีดโกน C# ลูป มีดโกน C# Logic ตัวแปรมีดโกน VB มีดโกน VB Loops มีดโกน VB Logic

ASP Classic

แนะนำ ASP ไวยากรณ์ ASP ตัวแปร ASP ขั้นตอน ASP เงื่อนไข ASP ASP วนรอบ แบบฟอร์ม ASP คุกกี้ ASP เซสชัน ASP แอปพลิเคชัน ASP ASP #รวม ASP Global.asa ASP AJAX อีเมล ASP ตัวอย่าง ASP

การอ้างอิง ASP

ฟังก์ชัน ASP VB คีย์เวิร์ด ASP VB การตอบสนอง ASP คำขอ ASP แอปพลิเคชัน ASP เซสชัน ASP เซิร์ฟเวอร์ ASP ข้อผิดพลาด ASP ASP FileSystem ASP TextStream ไดรฟ์ ASP ไฟล์ ASP โฟลเดอร์ ASP พจนานุกรม ASP ASP AdRotator ASP BrowserCap การเชื่อมโยงเนื้อหา ASP ตัวหมุนเนื้อหา ASP ASP Quick Ref

กวดวิชา ADO

แนะนำ ADO ADO Connect ชุดระเบียน ADO จอแสดงผล ADO แบบสอบถาม ADO ADO Sort เพิ่ม ADO ADO Update ADO ลบ สาธิต ADO ADO เร่งความเร็ว

วัตถุ ADO

คำสั่ง ADO การเชื่อมต่อ ADO ข้อผิดพลาด ADO ADO Field พารามิเตอร์ ADO ADO พร็อพเพอร์ตี้ บันทึก ADO ชุดระเบียน ADO ADO สตรีม ประเภทข้อมูล ADO

ข้อมูลอ้างอิงด่วนของ 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