เมื่อฉันใช้ Response.Redirect (... ) เพื่อเปลี่ยนเส้นทางแบบฟอร์มของฉันไปยังหน้าใหม่ฉันได้รับข้อผิดพลาด:
มีโอกาสเกิดข้อยกเว้นครั้งแรกของประเภท 'System.Threading.ThreadAbortException' เกิดขึ้นใน mscorlib.dll
ข้อยกเว้นประเภท 'System.Threading.Thread.ThreadAbortException' เกิดขึ้นใน mscorlib.dll แต่ไม่ได้รับการจัดการในรหัสผู้ใช้
ความเข้าใจของฉันเกี่ยวกับเรื่องนี้คือข้อผิดพลาดที่เกิดจากเว็บเซิร์ฟเวอร์ยกเลิกส่วนที่เหลือของหน้าเว็บที่มีการตอบสนอง
ฉันรู้ว่าฉันสามารถเพิ่มพารามิเตอร์ตัวที่สองให้กับResponse.Redirect
ที่เรียกว่า endResponse หากฉันตั้งค่า endResponse เป็น True ฉันยังคงได้รับข้อผิดพลาด แต่ถ้าฉันตั้งค่าเป็น False ฉันจะไม่ทำเช่นนั้น ฉันค่อนข้างแน่ใจว่านั่นหมายความว่าเว็บเซิร์ฟเวอร์กำลังเรียกใช้ส่วนที่เหลือของหน้าที่ฉันเปลี่ยนเส้นทางไปจาก ซึ่งดูเหมือนจะไม่มีประสิทธิภาพที่จะพูดน้อย มีวิธีที่ดีกว่าในการทำเช่นนี้? มีวิธีอื่นนอกเหนือจากResponse.Redirect
หรือมีวิธีการบังคับให้หน้าเก่าหยุดการโหลดที่ฉันจะไม่ได้รับThreadAbortException
หรือไม่
Context.ApplicationInstance.CompleteRequest();
มันรันรหัสหลัง ทำไม? ฉันจะต้องทำreturn
จากตัวจัดการเหตุการณ์อย่างมีเงื่อนไขหรือไม่