เว็บฟอร์ม ASP.NET - กิจกรรม
ตัวจัดการเหตุการณ์คือรูทีนย่อยที่รันโค้ดสำหรับเหตุการณ์ที่กำหนด
เมื่อเหตุการณ์ที่เกี่ยวข้องถูกทริกเกอร์ใน ASP.NET รูทีนย่อยของเหตุการณ์จะถูกเรียก โปรดดูรายละเอียดด้านล่าง
โปรดดูรหัสด้านล่าง:
<%lbl1.Text="วันที่และเวลาคือ " & now()%><html><body><form runat="server"><h3><asp:label id="lbl1" runat="server" /></h3></form></body></html>
โค้ดข้างต้นจะถูกดำเนินการเมื่อใด? คำตอบคือ: "ฉันไม่รู้..."
เหตุการณ์ Page_Load เป็นหนึ่งในหลายเหตุการณ์ที่ ASP.NET เข้าใจ เหตุการณ์ Page_Load จะถูกทริกเกอร์เมื่อมีการโหลดเพจ ASP.NET จะเรียกรูทีนย่อย Page_Load โดยอัตโนมัติและรันโค้ดในนั้น:
<script runat="server">Sub Page_Loadlbl1.Text="วันที่และเวลาคือ " & now()End Sub</script><html><body><form runat="server"><h3><asp: ป้ายกำกับ id="lbl1" runat="เซิร์ฟเวอร์" /></h3></form></body></html>
หมายเหตุ: เหตุการณ์ Page_Load ไม่มีการอ้างอิงวัตถุหรือพารามิเตอร์เหตุการณ์!
รูทีนย่อย Page_Load ทำงานทุกครั้งที่โหลดเพจ หากคุณต้องการให้โค้ดในรูทีนย่อย Page_Load ทำงานเมื่อมีการโหลดเพจครั้งแรก คุณสามารถใช้คุณสมบัติ Page.IsPostBack ได้ ถ้าคุณสมบัติ Page.IsPostBack ถูกตั้งค่าเป็น false เพจจะถูกโหลดเป็นครั้งแรก ถ้าตั้งค่าเป็นจริง เพจนั้นจะถูกโพสต์กลับไปยังเซิร์ฟเวอร์ (ตัวอย่างเช่น โดยการคลิกปุ่มบนแบบฟอร์ม):
<script runat="server">Sub Page_Loadif Not Page.IsPostBack thenlbl1.Text="วันที่และเวลาคือ " & now()end ifEnd SubSub send(s As Object, e As EventArgs)lbl2.Text="Hello World! "ส่วนท้าย</script><html><body><form runat="server"><h3><asp:label id="lbl1" runat="server" /></h3><h3><asp:label id="lbl2" runat="server" /></h3><asp:button text="Submit" onclick="submit" runat="server" /> </รูปแบบ></ร่างกาย></html>
ตัวอย่างข้างต้นจะแสดงเฉพาะข้อความ "วันที่และเวลาคือ..." ในครั้งแรกที่โหลดหน้าเว็บ เมื่อผู้ใช้คลิกปุ่มส่ง รูทีนย่อยส่งจะเขียนว่า "Hello World!" ในป้ายกำกับที่สอง แต่วันที่และเวลาในป้ายกำกับแรกจะไม่เปลี่ยนแปลง
ข้างต้นเป็นคำอธิบายเกี่ยวกับการใช้ตัวจัดการเหตุการณ์ ASP.NET