วิธีแก้ไขปัญหาหน้าต่าง Postback ใหม่ในกล่องโต้ตอบเว็บ IE
ผู้เขียน:Eve Cole
เวลาอัปเดต:2009-06-20 16:54:58
คำอธิบายปัญหา:
ฉันเพิ่งทำงานในโครงการหมุนเวียนเอกสารและใช้กล่องโต้ตอบเว็บ IE สำหรับการดำเนินการบางอย่าง อย่างไรก็ตาม ฉันพบว่าเมื่อใช้กล่องโต้ตอบเว็บ IE ไม่ว่าจะเป็น Postback ของ .net ไฮเปอร์ลิงก์ด้านบน หรือการข้ามหน้า JS จะทำให้ IE เปิดหน้าต่างใหม่
สารละลาย:
เตรียมสองหน้าในหน้าแรก หน้าหนึ่งคือหน้าที่มี iframe (ในที่นี้ฉันเรียกว่าหน้า A) และอีกหน้าเป็นหน้าที่จะถูกเรียกโดยกล่องโต้ตอบเว็บ IE ดั้งเดิม (ในที่นี้ฉันเรียกมันว่าหน้า B)
เนื้อหา iframe ของเพจ A ชี้ไปที่เพจ B จากนั้นเพจ A จะถูกโหลดเมื่อเปิดกล่องโต้ตอบเว็บ IE ในเวลานี้ ไม่ว่าเพจ B จะเป็น Postback หรือข้ามเพจ ก็จะไม่ทำให้เกิดหน้าต่างใหม่ เปิดแล้ว
หลักการคือการเพิ่ม "เลเยอร์กลาง" ให้กับวิธีการดั้งเดิม เมื่อเปิดกล่องโต้ตอบเว็บ IE ลำดับการเรียกเพจคือ:
กล่องโต้ตอบหน้าเว็บ IE -> โหลดหน้า B ตอนนี้ดูเหมือนว่า:
กล่องโต้ตอบหน้าเว็บ IE -> โหลดหน้า A -> จากนั้นโหลดหน้า B จาก iframe ของหน้า A