Udostępnij za pośrednictwem


Control.RaiseBubbleEvent(Object, EventArgs) Metoda

Definicja

Przypisuje wszystkie źródła zdarzenia i jego informacje do elementu nadrzędnego kontrolki.

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)

Parametry

source
Object

Źródło zdarzenia.

args
EventArgs

EventArgs Obiekt zawierający dane zdarzenia.

Przykłady

Poniższy przykład kodu pokazuje, jak utworzyć klasę niestandardową , ChildControlprzesłaniając Button.OnClick metodę w celu wywołania RaiseBubbleEvent metody, która wysyła Button.Click zdarzenie do nadrzędnej ASP.NET kontroli serwera. Gdy użytkownik kliknie przycisk na stronie ASP.NET zawierającej wystąpienie obiektu , zgłasza OnBubbleEvent metodę w kontrolce nadrzędnej zawierającej wystąpienie ChildControlChildControl i zapisuje ciąg "Metoda OnClick klasy ChildControl jest wywoływana" na stronie.

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

Uwagi

ASP.NET kontrolek serwera, takich jak kontrolki Repeater, DataList i GridView sieci Web mogą zawierać kontrolki podrzędne, które zgłaszają zdarzenia. Na przykład każdy wiersz w kontrolce GridView może zawierać jeden lub więcej przycisków utworzonych dynamicznie przez szablony. Zamiast każdego przycisku, który podnosi zdarzenie indywidualnie, zdarzenia z zagnieżdżonych kontrolek są "bąbelkowe" — czyli są wysyłane do elementu nadrzędnego kontrolki. Element nadrzędny z kolei zgłasza zdarzenie ogólne o nazwie RowCommand z wartościami parametrów. Te wartości umożliwiają określenie poszczególnych kontrolek, które wzbudziły oryginalne zdarzenie. Odpowiadając na to pojedyncze zdarzenie, można uniknąć konieczności pisania poszczególnych metod obsługi zdarzeń dla kontrolek podrzędnych.

Chociaż nie można zastąpić tej metody, kontrolki, które autor może obsługiwać lub zgłaszać zdarzenia bąbelkowe, przesłaniając metodę OnBubbleEvent .

Dotyczy

Zobacz też