ฉันเห็นเพื่อนบางคนพูดว่าบทที่แล้วนั้นไม่จำเป็น และเมื่อฉันคิดถึงเรื่องนี้จริงๆ ฉันก็ไม่ได้ตั้งใจจะพูดเกี่ยวกับเรื่องพื้นฐานเหล่านี้ แต่ไม่มีข้อจำกัดในการเขียน ดังนั้นฉันจึงย้ายไปที่เรื่องพื้นฐาน เริ่มจากส่วนนี้ ฉันจะแนะนำคลาสทั่วไปที่สำคัญสามคลาสใน ASP คลาสเหล่านี้ทำงานผ่านสถาปัตยกรรมสามระดับที่ฉันออกแบบ คลาสเหล่านี้เป็นส่วนขยายของไวยากรณ์ ASP และสามารถปรับปรุงประสิทธิภาพของการประมวลผลรายละเอียดมากมาย . พวกมันถือได้ว่าเป็นกรอบเล็กๆ น้อยๆ
ส่วนนี้จะแนะนำคลาสการจัดการข้อผิดพลาด ชื่อคลาสคือ Con_Error ซึ่งเริ่มต้นได้ที่จุดเริ่มต้นของโค้ดเพจ e.add ต่อไปนี้ใช้วัตถุอินสแตนซ์ของคลาสข้อผิดพลาดนี้เพื่อดำเนินการ
การแนะนำวิธีการ:
e.Add(ByVal vErrorMessage) บันทึกข้อผิดพลาดและตั้งค่า e.Error = true เมื่อพบข้อผิดพลาดเมื่อโปรแกรมตรวจสอบความถูกต้องของชื่อผู้ใช้ ฯลฯ วิธีการนี้จะถูกเรียกใช้และข้อความแสดงข้อผิดพลาดจะถูกบันทึก
ตัวอย่างเช่น หากผู้ใช้มีรหัสผ่านไม่ถูกต้องเมื่อเข้าสู่ระบบ ให้โทร e.add (บัญชีหรือรหัสผ่านของคุณไม่ถูกต้อง) ในขณะนี้ ข้อผิดพลาดจะถูกบันทึกในวัตถุข้อผิดพลาด e และแอตทริบิวต์ของวัตถุข้อผิดพลาด e Error=true ในการดำเนินการครั้งต่อๆ ไป คุณสามารถใช้คุณสมบัติของอ็อบเจ็กต์ข้อผิดพลาดเพื่อตัดสินได้
ตัวอย่างเช่น:
เมื่อมีข้อผิดพลาดเกิดขึ้น หน้าต่างเล็กๆ จะปรากฏขึ้นเพื่อแจ้งข้อผิดพลาดและกลับไปยังหน้าก่อนหน้า
ถ้า e.Error แล้ว
e.Alert_Back กรุณาเข้าสู่ระบบอีกครั้ง 'ฟังก์ชันของ Alert_Back จะถูกนำมาใช้ในภายหลัง
สิ้นสุดถ้า
e.Alert_Back(ByVal vMessage) ใช้ Javascript เพื่อแสดงกล่องข้อความแสดงข้อผิดพลาดและแสดงรายการข้อผิดพลาดปัจจุบันทั้งหมด vMessage ใน Alert_Back(vMessage) จะแสดงในบรรทัดสุดท้ายเพื่อแจ้งให้ผู้ใช้ทราบถึงขั้นตอนที่ต้องดำเนินการหลังจากเห็นข้อความนี้ ข้อความแสดงข้อผิดพลาด และกลับไปที่หน้าก่อนหน้า โพสต์โค้ดของวิธีนี้เพื่อให้ทุกคนเข้าใจได้ดีขึ้น:
Alert_Back ย่อยสาธารณะ (ByVal vMessage)
strJSMessage = JSMessage & vMessage 'JSMessage ใช้เพื่อจัดเก็บรายการข้อผิดพลาดในวัตถุ e และแต่ละข้อผิดพลาดจะถูกคั่นด้วย /n
-
<ภาษาสคริปต์=จาวาสคริปต์>
-
alert(<%=strJSMessage %>); 'แสดงกล่องข้อผิดพลาดขึ้นมา
history.back(); 'กลับไปหน้าที่แล้ว
-
</สคริปต์>
-
response.end 'โปรดทราบว่าควรหยุดเอาต์พุตที่นี่เพื่อหลีกเลี่ยงข้อผิดพลาดในขณะที่โปรแกรมยังคงทำงานต่อไป
จบหมวดย่อย
เมธอด e.Alert_Back ขยายวิธีการต่างๆ ด้วยเอฟเฟกต์ที่คล้ายกัน ซึ่งมีการแนะนำไว้ด้านล่าง โปรดดูซอร์สโค้ดที่แนบมาสำหรับขั้นตอนการใช้งาน:
e.Alert(ByVal vMessage) จะแสดงเฉพาะกล่องข้อความแสดงข้อผิดพลาด ไม่กลับไปยังหน้าก่อนหน้า และไม่หยุดการทำงานของโปรแกรม
e.Alert_Close(ByVal vMessage) จะแสดงกล่องข้อความแจ้งข้อผิดพลาดปรากฏขึ้น เมื่อผู้ใช้คลิกตกลง ให้ปิดหน้าต่างปัจจุบัน
e.OK_Go(ByVal vMessage,ByVal vURL) จะแสดงกล่องข้อความปรากฏขึ้น เมื่อผู้ใช้คลิกตกลง ระบบจะข้ามไปที่หน้า vURL
e.Go(ByVal vURL) ข้ามไปที่หน้า vURL โดยตรง
ทุกคนควรคุ้นเคยกับฟังก์ชันของวิธีการข้างต้น แต่จริงๆ แล้วไม่ได้จำกัดอยู่เพียงการจัดการข้อผิดพลาดเท่านั้น
e.Clear จะล้างข้อมูลข้อผิดพลาดที่บันทึกไว้ในวัตถุข้อผิดพลาด e.Error = false
เนื่องจากอ็อบเจ็กต์ e เป็นอ็อบเจ็กต์โกลบอล จึงอาจถูกเรียกในหลายกระบวนการ เมื่อคุณต้องการนับข้อผิดพลาดในโมดูลบางโมดูลเท่านั้น คุณสามารถเรียกใช้เมธอดนี้ได้ตั้งแต่เริ่มต้นเพื่อล้างข้อผิดพลาดใน e
ต่อไปนี้เป็นแพ็คเกจสำหรับ Response.Write เพื่อความสะดวกและรวดเร็วในการใช้งาน
e.Debug(ByVal vMessage) ส่งออกข้อมูลการดีบัก เมื่อโปรแกรมเสร็จสิ้น จะมีเอาต์พุตข้อมูลการดีบักข้อผิดพลาดจำนวนมากโดยใช้ Response.write ข้อมูลการดีบักเอาต์พุต เมื่อโปรแกรมเสร็จสิ้น คุณจะต้องค้นหา e.Debug เพื่อค้นหาตำแหน่งของข้อมูลข้อผิดพลาดในการดีบักทั้งหมด
ew(ByVal vMessage) เป็นเพียงข้อมูลเอาท์พุตของ Response.write เท่านั้น ไม่ทราบว่าการป้อน ew ในโปรแกรมจะสะดวกกว่าการป้อน Response.write มากน้อยเพียงใด และมักจะเกิดข้อผิดพลาดได้ง่าย .
e.BR ส่งออกอักขระขึ้นบรรทัดใหม่ ซึ่งเทียบเท่ากับการตอบสนอง เขียน <BR />
สี่แพ็คเกจต่อไปนี้เป็นแพ็คเกจสำหรับ Response.End ซึ่งเป็นเพียงหลายวิธีที่มีฟังก์ชันเหมือนกันซึ่งกำหนดตามพฤติกรรมการใช้งาน:
e.Pause == การตอบสนองสิ้นสุด
eP==การตอบสนองสิ้นสุด
e.Stop == การตอบสนองสิ้นสุด
e.End == การตอบสนอง.End
นอกจากนี้ยังมีแอตทริบิวต์ e.Message ซึ่งแสดงรายการข้อผิดพลาดทั้งหมดในออบเจ็กต์ e
โปรดดูรหัสสำหรับรายละเอียดการใช้งานเฉพาะ
คัดลอกรหัสรหัสดังต่อไปนี้:
ClassCon_Error
Privateblnข้อผิดพลาด
strMessage ส่วนตัว
strJSMessage ส่วนตัว
Class_initialize ส่วนตัวย่อย ()
blnError = เท็จ
strMessage=
จบหมวดย่อย
Class_Terminate ส่วนตัวย่อย ()
จบหมวดย่อย
' =================================================' =================================
' คุณสมบัติ
' =================================================' =================================
'ข้อความ:
ข้อความให้ทรัพย์สินสาธารณะ (ค่า ByVal)
strMessage = ค่า
สิ้นสุดคุณสมบัติ
ทรัพย์สินสาธารณะรับข้อความ ()
ข้อความ = strMessage
สิ้นสุดคุณสมบัติ
'หมายเลขข้อผิดพลาด
ทรัพย์สินสาธารณะ GetError()
ข้อผิดพลาด = blnError
สิ้นสุดคุณสมบัติ
' JSMessage: แสดงในกล่องข้อความ
ทรัพย์สินส่วนตัว GetJSMessage()
strJSMessage = แทนที่(strMessage, <br>, /n)
strJSMessage = แทนที่ (strJSMessage, vbCrLf,)
JSMessage = strJSMessage
สิ้นสุดคุณสมบัติ
' =================================================' =================================
'วิธี
' =================================================' =================================
' เพิ่ม : เพิ่มข้อความแสดงข้อผิดพลาด
เพิ่มย่อยสาธารณะ (ByVal vMessage)
blnError = จริง
strMessage = strMessage & vMessage & <br>
จบหมวดย่อย
ย่อยสาธารณะชัดเจน
blnError = เท็จ
strMessage=
จบหมวดย่อย
'เตือน
การแจ้งเตือนย่อยสาธารณะ (ByVal vMessage)
strJSMessage = JSMessage และ vMessage
-
<ภาษาสคริปต์=จาวาสคริปต์>
-
การแจ้งเตือน (<%=strJSMessage %>);
-
</สคริปต์>
-
จบหมวดย่อย
' Alert_Back : แจ้งเตือนและย้อนกลับ
Alert_Back ย่อยสาธารณะ (ByVal vMessage)
strJSMessage = JSMessage และ vMessage
-
<ภาษาสคริปต์=จาวาสคริปต์>
-
การแจ้งเตือน (<%=strJSMessage %>);
ประวัติ.หลัง();
-
</สคริปต์>
-
การตอบสนองสิ้นสุด
จบหมวดย่อย
'Alert_Close: แจ้งเตือนและปิด
Alert_Close สาธารณะย่อย (ByVal vMessage)
strJSMessage = JSMessage และ vMessage
-
<ภาษาสคริปต์=จาวาสคริปต์>
-
การแจ้งเตือน (<%=strJSMessage %>);
window.opener = null;
หน้าต่าง.ปิด();
-
</สคริปต์>
-
การตอบสนองสิ้นสุด
จบหมวดย่อย
-
'Debug : response.write ใช้เพื่อลบข้อความ debug ง่ายๆ เพียงแค่ค้นหา e.Debug จากไฟล์
-
ย่อยสาธารณะ OK_Go (ByVal vMessage, ByVal vURL)
strJSMessage = JSMessage และ vMessage
-
<ภาษาสคริปต์=จาวาสคริปต์>
-
การแจ้งเตือน (<%=strJSMessage %>);
location.href = '<%=vURL %>';
-
</สคริปต์>
-
การตอบสนองสิ้นสุด
จบหมวดย่อย
ย่อยสาธารณะ (ByVal vURL)
การตอบสนอง เปลี่ยนเส้นทาง vURL
การตอบสนองสิ้นสุด
จบหมวดย่อย
-
'Debug : response.write ใช้เพื่อลบข้อความ debug ง่ายๆ เพียงค้นหา e.Debug จากไฟล์
-
ดีบักย่อยสาธารณะ (ByVal vMessage)
ตอบกลับ เขียน vMessage
การตอบสนอง.ฟลัช
จบหมวดย่อย
'****** W: เขียน
ย่อยสาธารณะ W(ByVal vMessage)
ตอบกลับ เขียน vMessage
จบหมวดย่อย
'****** BR: เขียน <br>
สาขาย่อยสาธารณะ
การตอบกลับ เขียน <BR />
จบหมวดย่อย
-
'หยุดชั่วคราว: response.end ทำเครื่องหมายข้อมูลการแก้ไขข้อบกพร่องอย่างชัดเจน
-
การหยุดชั่วคราวย่อยสาธารณะ
การตอบสนองสิ้นสุด
จบหมวดย่อย
ย่อยสาธารณะ ป
การตอบสนองสิ้นสุด
จบหมวดย่อย
ย่อยสาธารณะ [หยุด]
การตอบสนองสิ้นสุด
จบหมวดย่อย
ย่อยสาธารณะ [จบ]
การตอบสนองสิ้นสุด
จบหมวดย่อย
จบคลาส