ASP.NET - Evento Click en control Compuesto

 
Vista:

Evento Click en control Compuesto

Publicado por HenrydeSousa (27 intervenciones) el 21/12/2004 13:39:59
Hola, alguien sabe como crear un evento click para un control compuesto?
yo lo he hecho creando un control de dos botones de comando y un evento click
para el control pero no me funcona porque el evento click se ejecuta dos veces.
Este es el código:

Imports System
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.ComponentModel
Imports System.Drawing

Public Class Botones
Inherits WebControl
Implements IPostBackEventHandler

Dim Boton1 As New Button
Dim Boton2 As New Button

'creo los controles
Protected Overrides Sub CreateChildControls()

''''''''''''''''''''''''''''''''''''''''''''''
'de esta forma obtengo el Id del botón en el
'que se hizo click.
''''''''''''''''''''''''''''''''''''''''''''''
Boton1.Id = "Boton1"
Boton1.Attributes("OnClick") = _
Page.GetPostBackEventReference(Me, Boton1.ID)
me.Controls.Add(Boton1)

Boton2.Id = "Boton1"
Boton2.Attributes("OnClick") = _
Page.GetPostBackEventReference(Me, Boton1.ID)
me.Controls.Add(Boton2)

End Sub

'Este método se ejecuta cuando el usuario hace click en alguno de los botones
Public Overridable Overloads Sub RaisePostBackEvent(ByVal eventArgument As String) Implements System.Web.UI.IPostBackEventHandler.RaisePostBackEvent
RaiseEvent Click(eventArgument)
End Sub

Event Click(ByVal ButtonName As String)

End Class
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Evento Click en control Compuesto

Publicado por HenrydeSousa (27 intervenciones) el 22/12/2004 21:11:25
Aqui está la solución al problema:

Imports System
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.ComponentModel
Imports System.Drawing

Public Class Buttons
Inherits WebControl
Implements INamingContainer

Public WithEvents Accept As New Button
Public WithEvents Cancel As New Button

Protected Overrides Sub CreateChildControls()
Accept.ID = "Accept"
Accept.Text = "Accept"
Me.Controls.Add(Accept)

Cancel.ID = "Cancel"
Cancel.Text = "Cancel"
Me.Controls.Add(Cancel)
End Sub

' Declare an Event
Public Event AceptarClick As EventHandler

' Event handler for button click
Protected Sub Accept_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Accept.Click
RaiseEvent AceptarClick(sender, e)
End Sub

' Declare an Event
Public Event CancelarClick As EventHandler

' Event handler for button click
Public Sub Cancel_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Cancel.Click
RaiseEvent CancelarClick(sender, e)
End Sub

End Class
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar