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 do controle de servidor é passado um nível acima da hierarquia de controle de servidor da 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 OnBubbleEvent método em um controle de servidor ASP.NET personalizado, ParentControl
. Esse método é invocado quando um controle filho de ParentControl
chama o RaiseBubbleEvent método . Quando isso acontece, a ParentControl
classe grava duas cadeias de caracteres na página que contém ASP.NET, a primeira informando que seu OnBubbleEvent método foi chamado, a segunda identificando o controle do código-fonte do RaiseBubbleEvent método.
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 Repeatercontroles da Web e GridView , DataList 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 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 manipulação de eventos para controles filho.