Control.OnBubbleEvent(Object, EventArgs) Metodo

Definizione

Determina se l'evento per il controllo server viene passato a un livello superiore nella gerarchia dei controlli server dell'interfaccia utente per la pagina.Determines whether the event for the server control is passed up the page's UI server control hierarchy.

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

Parametri

source
Object

Origine dell'evento.The source of the event.

args
EventArgs

Oggetto EventArgs che contiene i dati dell'evento.An EventArgs object that contains the event data.

Restituisce

true se l'evento è stato annullato. In caso contrario, false.true if the event has been canceled; otherwise, false. Il valore predefinito è false.The default is false.

Esempi

Nell'esempio seguente viene eseguito l'override del metodo OnBubbleEvent in un controllo server ASP.NET personalizzato, ParentControl.The following example overrides the OnBubbleEvent method in a custom ASP.NET server control, ParentControl. Questo metodo viene richiamato quando un controllo figlio di ParentControl chiama il metodo RaiseBubbleEvent.This method is invoked when a child control of ParentControl calls the RaiseBubbleEvent method. Quando si verifica questo problema, la classe ParentControl scrive due stringhe nella pagina contenitore ASP.NET, il primo indicante che è stato chiamato il relativo metodo OnBubbleEvent, il secondo che identifica il controllo del codice sorgente del metodo di RaiseBubbleEvent.When this happens, the ParentControl class writes two strings to the containing ASP.NET page, the first stating that its OnBubbleEvent method has been called, the second identifying the source control of the RaiseBubbleEvent method.

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
 _

Commenti

I controlli server ASP.NET, ad esempio i controlli Web Repeater, DataList e GridView possono contenere controlli figlio che generano eventi.ASP.NET server controls such as the Repeater, DataList and GridView Web controls can contain child controls that raise events. Ogni riga in un controllo GridView, ad esempio, può contenere uno o più pulsanti creati dinamicamente da modelli.For example, each row in a GridView control can contain one or more buttons created dynamically by templates. Anziché ogni pulsante che genera un evento singolarmente, gli eventi dei controlli nidificati vengono "bollati", ovvero vengono inviati al contenitore di denominazione.Rather than each button raising an event individually, events from the nested controls are "bubbled" - that is, they are sent to the naming container. Il contenitore di denominazione genera a sua volta un evento generico denominato RowCommand con i valori dei parametri.The naming container in turn raises a generic event called RowCommand with parameter values. Questi valori consentono di determinare il singolo controllo che ha generato l'evento originale.These values allow you to determine which individual control that raised the original event. Rispondendo a questo singolo evento, è possibile evitare di dover scrivere singoli metodi di gestione degli eventi per i controlli figlio.By responding to this single event, you can avoid having to write individual event-handling methods for child controls.

Si applica a

Vedi anche