Control.OnBubbleEvent(Object, EventArgs) Método

Definição

Determina se o evento para o controlo do servidor é passado para a hierarquia de controlo do servidor UI 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 origem do evento.

args
EventArgs

Um objeto que contém os dados do EventArgs evento.

Devoluções

true se o evento tiver sido cancelado; caso contrário, false. A predefinição é false.

Exemplos

O exemplo seguinte sobrepõe o método OnBubbleEvent num controlo personalizado ASP.NET servidor, ParentControl. Este método é invocado quando um controlo filho de ParentControl chama o RaiseBubbleEvent método. Quando isto acontece, a classe ParentControl escreve duas strings na página de ASP.NET que contém, a primeira indicando que o seu método OnBubbleEvent foi chamado, a segunda identificando o controlo de versões 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
 _

Observações

ASP.NET controlos de servidor como os controlos web Repeater, DataList e GridView Web podem conter controlos filhos que geram eventos. Por exemplo, cada linha num GridView controlo pode conter um ou mais botões criados dinamicamente por templates. Em vez de cada botão levantar um evento individualmente, os eventos dos controlos aninhados são "bubbled" – ou seja, são enviados para o contentor de nomeação. O contentor de nomeação, por sua vez, gera um evento genérico chamado RowCommand com valores de parâmetro. Estes valores permitem-lhe determinar qual o controlo individual que originou o evento original. Ao responder a este único evento, pode evitar ter de escrever métodos individuais de gestão de eventos para controlos filhos.

Aplica-se a

Ver também