ตามค่าเริ่มต้น ตัวควบคุมการตรวจสอบ ASP.NET จะทำการตรวจสอบโดยอัตโนมัติเมื่อเพจโพสต์กลับไปยังเซิร์ฟเวอร์ หลังจากที่เพจถูกเตรียมใช้งาน (นั่นคือ หลังจากที่สถานะมุมมองและข้อมูล postback ได้รับการประมวลผล) และก่อนที่จะเรียกโค้ดการจัดการเหตุการณ์ ถ้าเบราว์เซอร์สนับสนุนการเขียนสคริปต์ฝั่งไคลเอ็นต์ ตัวควบคุมยังสามารถดำเนินการตรวจสอบความถูกต้องในเบราว์เซอร์ได้อีกด้วย
อย่างไรก็ตาม บางครั้งคุณอาจต้องดำเนินการตรวจสอบความถูกต้องโดยทางโปรแกรม คุณอาจต้องยืนยันโดยทางโปรแกรมในสถานการณ์ต่อไปนี้:
·หากไม่ได้ตั้งค่าการตรวจสอบความถูกต้องในขณะใช้งาน ตัวอย่างเช่น หากคุณใช้ตัวควบคุม RangeValidator คุณอาจต้องการตั้งค่าคุณสมบัติ MinimumValue และ MaximumValue ณ รันไทม์ตามค่าที่ผู้ใช้ป้อน การตรวจสอบเริ่มต้นไม่ทำงานในขณะนี้ เนื่องจากมีข้อมูลไม่เพียงพอในการควบคุม RangeValidator เมื่อเพจเรียกการควบคุมการตรวจสอบเพื่อทำการตรวจสอบ
·จำเป็นต้องตรวจสอบความถูกต้องของตัวควบคุม (หรือทั้งหน้า) ในตัวจัดการเหตุการณ์ Page_Load ในระหว่างขั้นตอนการประมวลผลของเพจ ยังไม่ได้เรียกตัวควบคุมการตรวจสอบ ดังนั้นจึงไม่ได้ตั้งค่าคุณสมบัติ IsValid ของเพจหรือตัวควบคุมแต่ละรายการ (ถ้าคุณพยายามรับค่าของคุณสมบัตินี้ ข้อยกเว้นจะถูกส่งออกไป) แต่ถ้าคุณต้องการตรวจสอบความถูกต้อง คุณสามารถเรียกการตรวจสอบโดยทางโปรแกรมได้
·คุณกำลังแก้ไขตัวควบคุม (ตัวควบคุมอินพุตหรือตัวควบคุมการตรวจสอบ) ขณะรันไทม์
โดยทั่วไป คุณสามารถยืนยันแบบเป็นโปรแกรมได้ทุกเมื่อที่ต้องการ ซึ่งช่วยให้คุณควบคุมเวลาในการยืนยันได้แม่นยำยิ่งขึ้น
เรียกวิธีการตรวจสอบของการควบคุมการตรวจสอบ
ตัวควบคุมทำการตรวจสอบและตั้งค่าคุณสมบัติ IsValid ของตัวควบคุมและเพจ หากตรวจพบข้อผิดพลาด ข้อความแสดงข้อผิดพลาดจะแสดงตามปกติเมื่อเพจถูกส่งกลับไปยังผู้ใช้
ตัวอย่างโค้ดต่อไปนี้สาธิตวิธีการตั้งค่าคุณสมบัติโดยทางโปรแกรม ในกรณีนี้ เว็บเพจ ASP.NET จะจองห้องพักที่รีสอร์ท เพื่อให้เดินทางไปและกลับจากการเยี่ยมชมแต่ละครั้งได้ฟรี ผู้ใช้จะต้องกรอกวันที่มาถึงและวันที่ออกเดินทาง จากนั้นจึงวางแผนตารางเวลาระหว่างการเยี่ยมชม ตัวควบคุม RangeValidator ใช้เพื่อให้แน่ใจว่าผู้ใช้ป้อนรูปแบบวันที่ทั่วไป และวันที่เดินทางควรอยู่ระหว่างวันที่มาถึงและวันที่ออกเดินทาง
คำอธิบาย: การควบคุมเครื่องมือตรวจสอบความถูกต้องจะส่งข้อยกเว้นหากค่าที่ผู้ใช้ป้อนไม่สามารถแปลงเป็นวันที่ได้ เพื่อความชัดเจน ตัวอย่างนี้ไม่รวมการจัดการข้อผิดพลาด
วันที่มาถึงและวันที่ออกเดินทางมาจากตัวควบคุมเซิร์ฟเวอร์เว็บกล่องข้อความสองตัวบนเพจ txtArrival และ txtDeparture วันที่เดินทางจะถูกป้อนลงในตัวควบคุมกล่องข้อความที่สาม txtTourDate ซึ่งได้รับการตรวจสอบโดยตัวควบคุม RangeValidator
หมายเหตุ: เมื่อตรวจสอบความถูกต้องทางโปรแกรม ควรปิดใช้งานการเขียนสคริปต์ฝั่งไคลเอ็นต์ เพื่อให้ตัวควบคุมไม่แสดงข้อความแสดงข้อผิดพลาดที่ไม่ถูกต้องก่อนที่จะดำเนินการรหัสตรวจสอบฝั่งเซิร์ฟเวอร์ของคุณ
โมฆะส่วนตัว Button1_Click (ผู้ส่งวัตถุ System.EventArgs e)
-
RangeValidator1.MinimumValue = txtArrival.Text;
RangeValidator1.MaximumValue = txtDeparture.Text;
RangeValidator1.Type = ValidationDataType.Date;
RangeValidator1.ตรวจสอบ ();
ถ้า (!RangeValidator1.IsValid)
-
RangeValidator1.ErrorMessage = "วันที่ทัวร์ต้อง " +
"อยู่ระหว่างวันมาถึงและวันออกเดินทาง";
-
-
บทความนี้มาจากบล็อก CSDN โปรดระบุแหล่งที่มาเมื่อพิมพ์ซ้ำ:
http://blog.csdn.net/dodream/archive/2009/12/17/5024666.aspx