Control.RaiseBubbleEvent(Object, EventArgs) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Asigna cualquier origen del evento y su información al elemento primario 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.
Ejemplos
En el ejemplo de código siguiente se muestra cómo crear una clase personalizada, ChildControl, reemplazando el método Button.OnClick para llamar al método RaiseBubbleEvent que envía el evento Button.Click a su control de servidor ASP.NET primario. Cuando el usuario hace clic en un botón de una página de ASP.NET que incluye una instancia de ChildControl, genera el método OnBubbleEvent 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 Repeater, DataList y GridView 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 puede invalidar este método, los controles que cree puede controlar o generar eventos con burbujas invalidando el OnBubbleEvent método .