Exposing Events in User ControlsA user control can contain the same event-handling subroutines as a normal ASP.NET page. For example, you can add a Page_Load subroutine to a user control that executes before any content in the body of the control is rendered. The Page_Load subroutine contained in the user control is completely distinct from the Page_Load subroutine in the parent page. The user control in Listing 5.16 randomly displays one of three quotes every time it is displayed. Listing 5.16 UserControlEvents.ascx<Script Runat="Server"> Sub Page_Load Dim RanNum As New Random Select Case RanNum.Next( 3 ) Case 0 lblQuote.Text = "A penny saved is a penny earned" Case 1 lblQuote.Text = "Look before you leap" Case 2 lblQuote.Text = "He who hesitates is lost" End Select End Sub </Script> <asp:Label id="lblQuote" Runat="Server" /> The C# version of this code can be found on the CD-ROM. The page in Listing 5.17 uses this user control to randomly display a quotation. Listing 5.17 DisplayControlEvents.aspx<%@ Register TagPrefix="SuperCompany" TagName="Quote" Src="ControlEvents.ascx" %> <SuperCompany:Quote Runat="Server" /> The C# version of this code can be found on the CD-ROM. |