Control.RaiseBubbleEvent(Object, EventArgs) Método

Definição

Atribui quaisquer fontes do evento e da sua informação ao pai do controlo.

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 origem do evento.

args
EventArgs

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

Exemplos

O exemplo de código seguinte demonstra como criar uma classe personalizada, ChildControl, sobrescrevendo o método Button.OnClick para chamar o método RaiseBubbleEvent que envia o evento Button.Click para o seu controlo ASP.NET servidor pai. Quando o utilizador clica num botão numa página ASP.NET que inclui uma instância de ChildControl, ele levanta o método OnBubbleEvent no controlo parental que contém a instância de ChildControl e escreve a cadeia "The ChildControl class OnClick method is called" 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

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 pai do controlo. O pai, 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.

Embora não possa sobrescrever este método, os controlos que o seu autor pode gerir ou gerar eventos com bolhas ao sobrepor o OnBubbleEvent método.

Aplica-se a

Ver também