Control.OnBubbleEvent(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.
Determina se o evento para o controle do servidor é passado para a hierarquia de controle do servidor de interface do usuário da página.
protected:
virtual bool OnBubbleEvent(System::Object ^ source, EventArgs ^ args);
protected virtual bool OnBubbleEvent(object source, EventArgs args);
abstract member OnBubbleEvent : obj * EventArgs -> bool
override this.OnBubbleEvent : obj * EventArgs -> bool
Protected Overridable Function OnBubbleEvent (source As Object, args As EventArgs) As Boolean
Parâmetros
- source
- Object
A fonte do evento.
Retornos
true se o evento tiver sido cancelado; caso contrário, false. O padrão é false.
Exemplos
O exemplo a seguir substitui o método OnBubbleEvent em um controle de servidor ASP.NET personalizado, ParentControl. Esse método é invocado quando um controle filho do ParentControl método chama o RaiseBubbleEvent método. Quando isso acontece, a classe ParentControl grava duas cadeias de caracteres na página de ASP.NET que contém, a primeira informando que seu método OnBubbleEvent foi chamado, o segundo identificando o controle de origem do método RaiseBubbleEvent.
public class ParentControl : Control
{
[System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand, Name="FullTrust")]
protected override bool OnBubbleEvent(object sender, EventArgs e)
{
Context.Response.Write("<br><br>ParentControl's OnBubbleEvent called.");
Context.Response.Write("<br>Source of event is: " + sender.ToString());
return true;
}
[System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand, Name="FullTrust")]
protected override void Render( HtmlTextWriter myWriter)
{
myWriter.Write("ParentControl");
RenderChildren(myWriter);
}
}
Public Class ParentControl
Inherits Control
<System.Security.Permissions.PermissionSetAttribute(System.Security.Permissions.SecurityAction.Demand, Name:="FullTrust")> _
Protected Overrides Function OnBubbleEvent(sender As Object, e As EventArgs) As Boolean
Context.Response.Write("<br><br>ParentControl's OnBubbleEvent called.")
Context.Response.Write(("<br>Source of event is: " + sender.ToString()))
Return True
End Function 'OnBubbleEvent
<System.Security.Permissions.PermissionSetAttribute(System.Security.Permissions.SecurityAction.Demand, Name:="FullTrust")> _
Protected Overrides Sub Render(myWriter As HtmlTextWriter)
myWriter.Write("ParentControl")
RenderChildren(myWriter)
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 "bolhados" – ou seja, são enviados para o contêiner de nomenclatura. O contêiner de nomenclatura, 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.