Control.RaiseBubbleEvent(Object, EventArgs) Metoda

Definicja

Przypisuje wszystkie źródła zdarzenia i informacje do elementu nadrzędnego formantu.Assigns any sources of the event and its information to the control's parent.

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.The source of the event.

args
EventArgs

Obiekt EventArgs, który zawiera dane zdarzenia.An EventArgs object that contains the event data.

Przykłady

Poniższy przykład kodu pokazuje, jak utworzyć klasę niestandardową, ChildControl, zastępując metodę Button.OnClick, aby wywołać metodę RaiseBubbleEvent, która wysyła zdarzenie Button.Click do swojej nadrzędnej kontrolki serwera ASP.NET.The following code example demonstrate how to create a custom class, ChildControl, overriding the Button.OnClick method to call the RaiseBubbleEvent method that sends the Button.Click event to its parent ASP.NET server control. Gdy użytkownik kliknie przycisk na stronie ASP.NET, który zawiera wystąpienie ChildControl, wywołuje metodę OnBubbleEvent na formancie nadrzędnym zawierającym wystąpienie ChildControl i zapisuje ciąg "Metoda onkliknięcia klasy ChildControl jest wywoływana" na stronie.When the user clicks a button in an ASP.NET page that includes an instance of ChildControl, it raises the OnBubbleEvent method on the parent control that contains the instance of ChildControl and writes the string "The ChildControl class OnClick method is called" to the page.

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

Kontrolki serwera ASP.NET, takie jak Repeater, DataList i GridView formanty sieci Web mogą zawierać kontrolki podrzędne, które powodują wygenerowanie zdarzeń.ASP.NET server controls such as the Repeater, DataList and GridView Web controls can contain child controls that raise events. Na przykład każdy wiersz w kontrolce GridView może zawierać jeden lub więcej przycisków utworzonych dynamicznie przez szablony.For example, each row in a GridView control can contain one or more buttons created dynamically by templates. Zamiast każdego przycisku wywołującego zdarzenie pojedynczo zdarzenia z formantów zagnieżdżonych są "bąbelkowe" — oznacza to, że są wysyłane do obiektu nadrzędnego formantu.Rather than each button raising an event individually, events from the nested controls are "bubbled" - that is, they are sent to the control's parent. Element nadrzędny z kolei wywołuje zdarzenie ogólne o nazwie RowCommand z wartościami parametrów.The parent in turn raises a generic event called RowCommand with parameter values. Te wartości umożliwiają określenie, który pojedynczy formant, który wywołał pierwotne zdarzenie.These values allow you to determine which individual control that raised the original event. Odpowiedź na to pojedyncze zdarzenie pozwala uniknąć konieczności pisania poszczególnych metod obsługi zdarzeń dla formantów podrzędnych.By responding to this single event, you can avoid having to write individual event-handling methods for child controls.

Chociaż nie można zastąpić tej metody, formanty, które tworzysz mogą obsługiwać lub wzbudzają zdarzenia bąbelkowe, zastępując metodę OnBubbleEvent.While you cannot override this method, controls you author can handle or raise bubbled events by overriding the OnBubbleEvent method.

Dotyczy

Zobacz też