ASP.NET Web Forms - Events


An event handler is a subroutine that executes code for a given event.


ASP.NET - Event Handlers

Look at the following code:

<%
lbl1.Text="The date and time is " & now()
%>

<html>
<body>
<form runat="server">
<h3><asp:label id="lbl1" runat="server" /></h3>
</form>
</body>
</html>

When will the above code be executed? The answer is: "I don't know...".


Page_Load Event

The Page_Load event is one of the many events that ASP.NET understands. The Page_Load event is triggered when the page loads. ASP.NET will automatically call the Page_Load subroutine and execute the code within it:

Example

<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>

Show Example »

Note:The Page_Load event does not contain object references or event parameters!


Page.IsPostBack Property

The Page_Load subroutine runs every time the page loads. If you only want to execute the code in the Page_Load subroutine when the page is loaded for the first time, you can use the Page.IsPostBack property. If the Page.IsPostBack property is set to false, the page is loaded for the first time; if it is set to true, the page is posted back to the server (for example, by clicking a button on the form):

Example

<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>

Show Example »

The example above displays the message "The date and time is...." only when the page is loaded for the first time. When the user clicks the Submit button, the submit subroutine will write "Hello World!" into the second label, but the date and time in the first label will not change.


Other Extensions