Control.OnBubbleEvent(Object, EventArgs) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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.
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.
Restituisce
true
se l'evento è stato annullato. In caso contrario, false
. Il valore predefinito è false
.
Esempio
Nell'esempio seguente viene eseguito l'override del OnBubbleEvent metodo in un controllo server di ASP.NET personalizzato, ParentControl
. Questo metodo viene richiamato quando un controllo figlio di ParentControl
chiama il RaiseBubbleEvent metodo. In questo caso, la ParentControl
classe scrive due stringhe nella pagina contenente ASP.NET, la prima che indica che OnBubbleEvent il metodo è stato chiamato, il secondo che identifica il controllo del codice sorgente del RaiseBubbleEvent metodo.
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
ASP.NET controlli server, ad esempio , RepeaterDataList e GridView i controlli Web possono contenere controlli figlio che generano eventi. Ad esempio, ogni riga in 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 "bolle", ovvero vengono inviati al contenitore di denominazione. Il contenitore di denominazione 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.