Control.RaiseBubbleEvent(Object, EventArgs) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Atribui todas as fontes do evento e suas informações ao pai do controle.
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
A fonte do evento.
Exemplos
O exemplo de código a seguir demonstra como criar uma classe personalizada, ChildControl, substituindo o método Button.OnClick para chamar o método RaiseBubbleEvent que envia o evento Button.Click para seu controle de servidor ASP.NET pai. Quando o usuário clica em um botão em uma página de ASP.NET que inclui uma instância de ChildControl, ele gera o método OnBubbleEvent no controle pai que contém a instância de ChildControl e grava a cadeia de caracteres "O método OnClick da classe ChildControl é chamado" na 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
Comentários
ASP.NET controles de servidor, como os controles Repeater, DataList e GridView Web podem conter controles filho que geram eventos. Por exemplo, cada linha em um GridView controle pode conter um ou mais botões criados dinamicamente por modelos. Em vez de cada botão gerar um evento individualmente, os eventos dos controles aninhados são "bolhas" – ou seja, são enviados para o pai do controle. O pai, por sua vez, gera um evento genérico chamado RowCommand com valores de parâmetro. Esses valores permitem determinar qual controle individual gerou o evento original. Ao responder a esse único evento, você pode evitar a necessidade de escrever métodos individuais de tratamento de eventos para controles filho.
Embora você não possa substituir esse método, os controles criados podem manipular ou gerar eventos em bolhas substituindo o OnBubbleEvent método.