ในการพัฒนา ASP บางครั้งคุณอาจใช้ส่วนขนาดใหญ่ของการตัดสิน if...else อย่างไรก็ตาม หากเป็นเนื้อหา Response.write แบบไดนามิก และคุณต้องการทำให้อ่านโค้ดได้ง่ายขึ้น คุณสามารถใช้ Response.End() เพื่อ ยุติการดำเนินการของ ASP ซึ่งคล้ายกับการใช้ Break
ในการพัฒนา ASP บางครั้งคุณอาจใช้ส่วนขนาดใหญ่ของการตัดสิน if...else อย่างไรก็ตาม หากเป็นเนื้อหา Response.write แบบไดนามิก และคุณต้องการทำให้อ่านโค้ดได้ง่ายขึ้น คุณสามารถใช้ Response.End() เพื่อ ยุติการดำเนินการของ ASP ซึ่งจะคล้ายกับการใช้ Break เช่น:
คัดลอกรหัสรหัสดังต่อไปนี้:ถ้า (userid=)หรือ(รหัสผ่าน=) แล้ว
Response.Write(<script lanuage=javascript>alert('UserName or Password is Empty!');location.href='../default.asp';</script>)
Response.End() 'จุดสิ้นสุดหากถูกขัดจังหวะที่นี่ ต่อไปนี้คือการดำเนินการอ่านฐานข้อมูลหากไม่ว่างเปล่า โดยละเว้นโค้ด n บรรทัด
ด้วยวิธีนี้ เมื่อชื่อผู้ใช้หรือรหัสผ่านที่เข้ามาว่างเปล่า ข้อมูลพร้อมท์จะถูกเขียนโดยอัตโนมัติ จากนั้น Response.End() จะขัดจังหวะโปรแกรมเพื่อไปถึง if - - บทบาทของคนอื่น.
นอกจากนี้เวลาใช้งาน Response.End ก็คือเวลาที่เราทำการ Debug โปรแกรมทุกวัน เช่น
หากต้องการส่งออกคำสั่ง spliced SQL โดยไม่ต้องรันโค้ดต่อไปนี้ คุณสามารถทำได้
คัดลอกรหัสรหัสดังต่อไปนี้:sql=select * จากข้อมูลผู้ใช้
การตอบสนองเขียน (sql)
การตอบสนองสิ้นสุด()
rs.open sql ,conn,1,1 'ประโยคนี้จะไม่ถูกดำเนินการ'
หากคุณกลัวว่าจะเพิ่ม Response.End() มากเกินไป และไม่สะดวกที่จะแสดงความคิดเห็นเมื่อมีการเปิดตัวอย่างเป็นทางการ คุณสามารถสรุปมันด้วยฟังก์ชัน เช่น โค้ดต่อไปนี้:
คัดลอกรหัสรหัสดังต่อไปนี้:การแก้ไขข้อบกพร่องย่อย()
การตอบสนองสิ้นสุด()
จบย่อย
รหัสข้างต้นได้รับการแก้ไขดังนี้:
คัดลอกรหัสรหัสดังต่อไปนี้:sql=select * จากข้อมูลผู้ใช้
การตอบสนองเขียน (sql)
ตรวจแก้จุดบกพร่อง()
rs.open sql ,conn,1,1 'ประโยคนี้จะไม่ถูกดำเนินการ'
ด้วยวิธีนี้ เมื่อมีการเปิดตัวอย่างเป็นทางการ การแสดงความคิดเห็นในคำสั่งฟังก์ชัน debug อาจมีบทบาทในการดีบักได้ อย่างไรก็ตาม ก็มีปัญหาเช่นกัน หากคุณใช้ debug() มากเกินไป โปรแกรมอาจไม่สามารถทำได้ ปฏิบัติตามคำแนะนำในระหว่างการดีบัก บางครั้งคุณไม่ต้องการให้การดำเนินการถูกขัดจังหวะในตำแหน่งเหล่านี้ ดังนั้นเรามาสร้างฟังก์ชัน debug() ใหม่กันดีกว่า ดังนี้:
sub debug(isBreak) 'isBreak เป็นพารามิเตอร์ที่มีค่าบูลีน หากตั้งค่าเป็นจริง จะขัดจังหวะการประมวลผลย่อย
รหัสเมื่อใช้มีดังนี้:
คัดลอกรหัสรหัสดังต่อไปนี้:sql=select * จากข้อมูลผู้ใช้
การตอบสนองเขียน (sql)
แก้ปัญหา (เท็จ)
rs.open sql,conn,1,1 'ประโยคนี้จะถูกดำเนินการ rs.close()
sql=select * จากผลิตภัณฑ์
การตอบกลับเขียน (sql)
แก้ปัญหา (จริง)
rs.open sql,conn,1,1 'ประโยคนี้จะไม่ถูกดำเนินการ'
โอเค โดยพื้นฐานแล้วสิ่งนี้สามารถสนองความต้องการของเราในการควบคุมการขัดจังหวะได้ แต่เป็นเพียงการวิเคราะห์ง่ายๆ เท่านั้น จริงๆ แล้ว มันยังไม่สมบูรณ์มาก อาจมีข้อกำหนดการดีบักอีกมากมายที่จำเป็นต้องปฏิบัติตามและจำเป็นต้องสร้างใหม่เพิ่มเติม ที่จริงแล้ว การพัฒนาโปรแกรมเป็นกระบวนการของการรีแฟคเตอร์ การรีแฟคเตอร์ และการรีแฟคเตอร์ มิฉะนั้น จะมีรูปแบบการออกแบบมากมาย