Compartir vía


Control.RaiseBubbleEvent(Object, EventArgs) Método

Definición

Asigna los orígenes del evento y su información al control principal del control.

protected:
 void RaiseBubbleEvent(System::Object ^ source, EventArgs ^ args);
protected void RaiseBubbleEvent (object source, EventArgs args);
member this.RaiseBubbleEvent : obj * EventArgs -> unit
Protected Sub RaiseBubbleEvent (source As Object, args As EventArgs)

Parámetros

source
Object

Origen del evento.

args
EventArgs

Objeto EventArgs que contiene los datos del evento.

Ejemplos

En el ejemplo de código siguiente se muestra cómo crear una clase personalizada, ChildControl, invalidando el Button.OnClick método para llamar al RaiseBubbleEvent método que envía el Button.Click evento a su control de servidor ASP.NET primario. Cuando el usuario hace clic en un botón en una página de ASP.NET que incluye una instancia de ChildControl, genera el OnBubbleEvent método en el control primario que contiene la instancia de ChildControl y escribe la cadena "Se llama al método OnClick de la clase ChildControl" en la página.

public class ChildControl : Button
{
   [System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand, Name="FullTrust")] 
   protected override void OnClick(EventArgs e) 
   {
      base.OnClick(e);
      Context.Response.Write("<br><br>ChildControl's OnClick called.");
      // Bubble this event to parent.
      RaiseBubbleEvent(this, e);
   }
Public Class ChildControl
   Inherits Button
   
   <System.Security.Permissions.PermissionSetAttribute(System.Security.Permissions.SecurityAction.Demand, Name:="FullTrust")> _
   Protected Overrides Sub OnClick(e As EventArgs)
      MyBase.OnClick(e)
      Context.Response.Write("<br><br>ChildControl's OnClick called.")
      ' Bubble this event to parent.
      RaiseBubbleEvent(Me, e)
   End Sub
End Class

Comentarios

ASP.NET controles de servidor, como , RepeaterDataList y GridView los controles web pueden contener controles secundarios que generan eventos. Por ejemplo, cada fila de un GridView control puede contener uno o varios botones creados dinámicamente por plantillas. En lugar de cada botón que genera un evento individualmente, los eventos de los controles anidados se "propagan", es decir, se envían al elemento primario del control. A su vez, el elemento primario genera un evento genérico denominado RowCommand con valores de parámetro. Estos valores permiten determinar qué control individual generó el evento original. Al responder a este único evento, puede evitar tener que escribir métodos individuales de control de eventos para controles secundarios.

Aunque no se puede invalidar este método, los controles que cree pueden controlar o generar eventos de burbujas reemplazando el OnBubbleEvent método .

Se aplica a

Consulte también