Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/12/2004, 06:55
Avatar de HenrydeSousa
HenrydeSousa
 
Fecha de Ingreso: septiembre-2004
Ubicación: Venezuela
Mensajes: 300
Antigüedad: 19 años, 8 meses
Puntos: 2
Evento Click en Control Compuesto:

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.RaisePostBackE vent
RaiseEvent Click(eventArgument)
End Sub

Event Click(ByVal ButtonName As String)

End Class

Entonces en el Web Form cuando agrego el control esto es lo que hago en el evento click:

Private Sub Botones1_Click(ByVal ButtonName As String) Handles Botones1.Click
If ButtonName = "Boton2" then
''''codigo
ElseIf ButtonName = "Boton2" Then
''''codigo
End If
End Sub

El grandioso problema es que este evento se ejecuta dos veces, entonces al momento de insertar
un registro en la base de datos siempre me dice que el registro ya existe. De que otra forma puedo crear
un evento click para un control compuesto?.