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 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.
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 .