อัปเดตเพจ ASP.NET อย่างต่อเนื่องโดยใช้ AJAX

ฉันมีเพจ ASP.NET ที่กำลังโต้ตอบกับชั้นธุรกิจ ฉันต้องการอัปเดตการควบคุมบนเพจของฉันอย่างต่อเนื่องตามค่าที่ผู้ใช้ป้อน เช่น อัปเดตผลรวม การคำนวณถูกฝังอยู่ในตรรกะทางธุรกิจ แต่ง่ายพอที่จะทำซ้ำในที่อื่นได้ ฉันคิดถึงสามวิธีในการบรรลุเป้าหมายนี้:

  1. อัปเดตเพจแบบไดนามิกโดยใช้ JavaScript ฉันไม่ต้องการทำเช่นนี้เพราะฉันไม่ต้องการเสี่ยงกับปัญหาทางคณิตศาสตร์จุดทศนิยมโดยที่ค่าบนหน้าไม่ตรงกับค่าที่คำนวณโดยชั้นธุรกิจ (คุณสมบัติเหล่านั้นเป็นทศนิยม)
  2. ล้างฟิลด์ที่คำนวณได้จากการเปลี่ยนแปลงและบังคับให้ผู้ใช้คลิกปุ่มคำนวณใหม่ นี่เป็นประสบการณ์การใช้งานที่ไม่ดีและการต่อสาย JavaScript กับตัวควบคุม ASP.NET นั้นน่าเบื่อ
  3. ใช้ AJAX UpdatePanel ตั้งค่าการควบคุมการป้อนข้อมูลเป็น autopostback และจัดการเหตุการณ์ "เปลี่ยนแปลง" สำหรับการควบคุม เช่น เปลี่ยนข้อความสำหรับกล่องข้อความแล้ว

วิธีที่สามดูสะอาดตาที่สุดสำหรับฉัน ให้ประสบการณ์ผู้ใช้ที่ดี และช่วยให้ฉันสามารถโต้ตอบกับชั้นธุรกิจที่ฉันจัดเก็บไว้ในสถานะเซสชันได้โดยตรง

คำถามของฉันคือ นี่เป็นความคิดที่ดีและ/หรือแนวปฏิบัติทั่วไปหรือไม่ มีวิธีที่ดีกว่าในการบรรลุเป้าหมายนี้หรือไม่?

ฉันไม่ได้ทำงาน ASP.NET มาสองสามปีแล้ว และฉันมีอคติต่อ autopostback[1] ฉันได้ดูขนาดของคำขอแล้ว และขณะนี้มีขนาดเล็กอยู่ที่ 1.5kB ไซต์จะมีการใช้งานน้อย แต่เราอาจมีผู้ใช้จำนวนไม่มากที่มีการเชื่อมต่อผ่านสายโทรศัพท์

  1. และ ASP.NET โดยทั่วไปแต่เวลานั้นยาก

person Jamie Ide    schedule 01.04.2009    source แหล่งที่มา


คำตอบ (2)


คุณคิดถูกแล้วที่คิดว่าตัวเลือกที่สามนั้นดีที่สุด นี่คือสิ่งที่ AJAX สร้างขึ้นมาเพื่อ ไปหามัน

person Justin Niessner    schedule 01.04.2009

โดยส่วนตัวแล้วฉันคิดว่า UpdatePanel หนักเกินไป คุณสามารถใช้ jQuery ร่วมกับฟังก์ชันบริการเว็บ ASP.NET ที่ส่งออก JSON

person mmx    schedule 01.04.2009
comment
ashx แบบตรงที่มี jayrock, asp.net mvc พร้อมด้วย jsonresult และบริการ wcf ล้วนเป็นตัวเลือกที่เหมาะสมในบรรทัดนี้ - person Tracker1; 01.04.2009
comment
นี่เป็นการตอบรับที่ดี แต่ฉันไม่มีเวลาเรียนรู้เทคโนโลยีใหม่ๆ มากมายสำหรับโปรเจ็กต์นี้ - person Jamie Ide; 02.04.2009