Mega Code Archive

 
Categories / ASP.Net / User Control And Master Page
 

User control with event (VB)

<%@ Page language="vb" AutoEventWireUp="false" %> <%@ Register TagPrefix="uc1" TagName="Control" Src="Control.ascx"%> <script runat="server">   Sub MultipleReached(ByVal sender As Object, ByVal e As EventArgs)     Message.Text="Congratulations!  You were the 5th visitor!"   End Sub </script> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > <html>   <body MS_POSITIONING="FlowLayout">     <form id="Control" method="post" runat="server">       <uc1:Control id="Control1"                     runat="server"                     Multiple="5"                     OnMultipleReached="MultipleReached"></uc1:Control>       <asp:Label ID="Message" Runat="server" EnableViewState="False" />     </form>   </body> </html> File: Control.ascx <%@ Control Language="vb" Src="Control.ascx.vb" Inherits="Control.Control" AutoEventWireup="false" %> <asp:Label id="OutputLabel" runat="server"></asp:Label> File: Control.ascx.vb Namespace Control     Public MustInherit Class Control         Inherits System.Web.UI.UserControl         Protected WithEvents OutputLabel As System.Web.UI.WebControls.Label         Private _multiple As Integer = 10         Public Property Multiple() As Integer             Get                 Return _multiple             End Get             Set(ByVal Value As Integer)                 _multiple = Value             End Set         End Property         Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init             InitializeComponent()         End Sub         Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load             If Application("count") Is Nothing Then                 Application("count") = 0             End If             Application.Lock()             Application("count") = Application("count") + 1             Application.UnLock()             If Application("count") Mod Multiple = 0 Then                 OnMultipleReached(System.EventArgs.Empty)             End If             OutputLabel.Text = Application("count").ToString()         End Sub         Public Event MultipleReached(ByVal sender As Object, ByVal e As System.EventArgs)         Public Overridable Sub OnMultipleReached(ByVal e As System.EventArgs)             RaiseEvent MultipleReached(Me, e)         End Sub     End Class End Namespace