Partilhar via


Control.OnBubbleEvent(Object, EventArgs) Método

Definição

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.

args
EventArgs

Um objeto EventArgs que contém os dados 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.

Aplica-se a

Confira também