ASP.NET - Sự kiện

Khối xử lý sự kiện (event handler) là một thủ tục con được sử dụng để thực hiện mã cho một sự kiện cụ thể.

ASP.NET - Khối xử lý sự kiện

Xin xem mã dưới đây:

<%
lbl1.Text="The date and time is " & now()
%>
<html>
<body>
<form runat="server">
<h3><asp:label id="lbl1" runat="server" /></h3>
</form>
</body>
</html>

Mã trên khi nào sẽ được thực hiện? Câu trả lời là: “Tôi không biết. . .”

Sự kiện Page_Load

Sự kiện Page_Load là một trong những sự kiện mà ASP.NET có thể hiểu được. Sự kiện Page_Load sẽ được kích hoạt khi trang được tải, sau đó ASP.NET sẽ tự động gọi thủ tục con Page_Load và thực hiện mã trong đó:

<script runat="server">
Sub Page_Load
lbl1.Text="The date and time is " & now()
End Sub
</script>
<html>
<body>
<form runat="server">
<h3><asp:label id="lbl1" runat="server" /></h3>
</form>
</body>
</html>

Ghi chú:Sự kiện Page_Load không chứa tham chiếu đối tượng hoặc tham số sự kiện!

Hiển Thị Ví Dụ

Thuộc tính Page.IsPostBack

Sub Page_Load sẽ chạy mỗi khi trang được tải. Nếu bạn chỉ muốn thực hiện mã trong sub routine Page_Load khi trang được tải lần đầu tiên, bạn có thể sử dụng thuộc tính Page.IsPostBack. Nếu thuộc tính Page.IsPostBack là false, thì trang được tải lần đầu tiên, nếu là true, thì trang được trả lại cho máy chủ (ví dụ, bằng cách nhấn nút trên biểu mẫu):

<script runat="server">
Sub Page_Load
if Not Page.IsPostBack then
  lbl1.Text="The date and time is " & now()
end if
End Sub
Sub Submit(s As Object, e As EventArgs)
lbl2.Text="Hello World!"
End Sub
</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" />
</form>
</body>
</html>

Ví dụ trên chỉ tạo thông điệp "The date and time is...." khi trang được tải lần đầu tiên. Khi người dùng nhấn nút Submit, hàm con submit sẽ tạo "Hello World!" trong label thứ hai, nhưng ngày và giờ trong label đầu tiên sẽ không thay đổi.

Hiển Thị Ví Dụ