Control.RaiseBubbleEvent(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.
Assegna eventuali origini dell'evento e relative informazioni al controllo padre.
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
Origine dell'evento.
Esempio
Nell'esempio di codice seguente viene illustrato come creare una classe personalizzata, , ChildControl
eseguendo l'override Button.OnClick del metodo per chiamare il RaiseBubbleEvent metodo che invia l'evento Button.Click al relativo controllo server ASP.NET padre. Quando l'utente fa clic su un pulsante in una pagina ASP.NET che include un'istanza di , genera il OnBubbleEvent metodo nel controllo padre che contiene l'istanza di ChildControl
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 , 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 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 che è possibile gestire o generare eventi con bolle eseguendo l'override del OnBubbleEvent metodo.