Control.RaiseBubbleEvent(Object, EventArgs) Metodo

Definizione

Assegna tutte le origini dell'evento e le relative informazioni all'elemento padre del controllo.

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)

Parametri

source
Object

La fonte dell'evento.

args
EventArgs

Oggetto EventArgs che contiene i dati dell'evento.

Esempio

Nell'esempio di codice seguente viene illustrato come creare una classe personalizzata, , eseguendo l'override del metodo per chiamare il metodo che invia l'evento /> ChildControl, genera il metodo OnBubbleEvent nel controllo padre che contiene l'istanza di ChildControl e scrive la stringa "Il metodo OnClick della classe ChildControl viene chiamato" nella pagina.

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

Commenti

ASP.NET controlli server, ad esempio Repeater, DataList e GridView controlli Web possono contenere controlli figlio che generano eventi. Ad esempio, ogni riga di un GridView controllo può contenere uno o più pulsanti creati dinamicamente dai modelli. Anziché ogni pulsante che genera un evento singolarmente, gli eventi dei controlli annidati sono "a bolle", ovvero vengono inviati all'elemento padre del controllo. L'elemento padre genera a sua volta un evento generico denominato RowCommand con valori di parametro. Questi valori consentono di determinare quale singolo controllo ha generato l'evento originale. Rispondendo a questo singolo evento, è possibile evitare di dover scrivere singoli metodi di gestione degli eventi per i controlli figlio.

Anche se non è possibile eseguire l'override di questo metodo, i controlli creati possono gestire o generare eventi a bolle eseguendo l'override del OnBubbleEvent metodo .

Si applica a

Vedi anche