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 quaisquer fontes de evento e suas informações para o 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 Button.OnClick método para chamar o RaiseBubbleEvent método que envia o Button.Click evento para seu controle de servidor ASP.NET pai. Quando o usuário clica em um botão em uma página ASP.NET que inclui uma instância do ChildControl
, ele aciona o OnBubbleEvent método no controle pai que contém a instância do e grava a cadeia de ChildControl
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 , RepeaterDataList e GridView controles da 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, eles 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 manipulação de eventos para controles filho.
Embora você não possa substituir esse método, os controles que você cria podem manipular ou gerar eventos bolhas substituindo o OnBubbleEvent método .