I'm having a problem getting an Eventhandler to fire when wired up using
Addhandler. If I add the Eventhandler via an attribute inside the control
tag (OnButtonClicked="TestEventControl1_ButtonClicked")it works fine.
However if I wire up using Addhandler ( AddHandler
TestEventControl1.ButtonClicked, AddressOf
TestEventControl1_ButtonClicked)the eventhandler never gets called. Any
ideas?


Here's the code

<%@ Register TagPrefix="cc1" Namespace="BEControls" Assembly="BEControls" %>
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="WebForm2.aspx.vb" 
Inherits="TestSite.WebForm2"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
  <body MS_POSITIONING="GridLayout">
   <form id="Form1" method="post" runat="server">
        <asp:Label id=Label1 runat="server">Label</asp:Label>
   
<cc1:TestEventControl id=TestEventControl1 runat="server" Text="Test Click Event"
             OnButtonClicked="TestEventControl1_ButtonClicked" >
        </cc1:TestEventControl>
   </form>
  </body>
</HTML>

Public Class WebForm2
    Inherits System.Web.UI.Page
    Protected WithEvents Label1 As System.Web.UI.WebControls.Label
    Protected WithEvents TestEventControl1 As BEControls.TestEventControl
    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
        'Put user code to initialize the page here
        If Not IsPostBack Then
                        ' The following does not work   
            AddHandler TestEventControl1.ButtonClicked, AddressOf
TestEventControl1_ButtonClicked

        End If

    End Sub

    Protected Sub TestEventControl1_ButtonClicked(ByVal sender As Object,
ByVal e As EventArgs)
        Label1.Text = "Click Event was Handled"
    End Sub
End Class

// TestEventControl Code
Imports System.ComponentModel
Imports System.Web.UI
Public Class TestEventControl
    Inherits System.Web.UI.WebControls.WebControl
    Implements IPostBackEventHandler, INamingContainer

    Public Event ButtonClicked As EventHandler
    Dim _text As String

    Property [Text]() As String
        Get
            Return _text
        End Get

        Set(ByVal Value As String)
            _text = Value
        End Set
    End Property

    Protected Overrides Sub Render(ByVal output As
System.Web.UI.HtmlTextWriter)
        output.AddAttribute(HtmlTextWriterAttribute.Name, Me.UniqueID)
        output.AddAttribute(HtmlTextWriterAttribute.Id, Me.UniqueID)
        output.AddAttribute(HtmlTextWriterAttribute.Value, Me.UniqueID)
        output.AddAttribute(HtmlTextWriterAttribute.Type, "image")
        output.AddAttribute(HtmlTextWriterAttribute.Src,
"/TestSite/images/next.gif")
        output.AddAttribute(HtmlTextWriterAttribute.Onclick,
Page.GetPostBackEventReference(Me, "selected"))
        output.RenderBeginTag(HtmlTextWriterTag.Input)
        output.RenderEndTag()
        output.Write("<h1>" & [Text] & "</h1>")
    End Sub

    Public Sub OnButtonClicked(ByVal e As EventArgs)
        RaiseEvent ButtonClicked(Me, e)
    End Sub

    Public Sub RaisePostBackEvent(ByVal eventArgument As String)
Implements System.Web.UI.IPostBackEventHandler.RaisePostBackEvent
        OnButtonClicked(New EventArgs())
    End Sub
End Class


---
You are currently subscribed to dotnet as: [email protected]
To unsubscribe send a blank email to [EMAIL PROTECTED]

---------
Administrated by 15 Seconds : http://www.15Seconds.com
List Archives/Search : http://local.15Seconds.com/search
Subscription Information : http://www.15seconds.com/listserv.htm
Advertising Information: http://www.internet.com/mediakit/


Reply via email to