Control.RaiseBubbleEvent(Object, EventArgs) 메서드

정의

이벤트 소스와 해당 정보를 컨트롤의 부모 컨트롤에 할당합니다.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)

매개 변수

source
Object

이벤트 소스입니다.The source of the event.

args
EventArgs

이벤트 데이터가 포함된 EventArgs 개체입니다.An EventArgs object that contains the event data.

예제

다음 코드 예제에서는 ChildControl사용자 지정 클래스를 만드는 방법을 보여 줍니다. Button.OnClick 메서드를 재정의 하 여 부모 ASP.NET 서버 컨트롤에 Button.Click 이벤트를 보내는 RaiseBubbleEvent 메서드를 호출 합니다.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. 사용자가 ChildControl의 인스턴스를 포함 하는 ASP.NET 페이지의 단추를 클릭 하면 ChildControl 인스턴스를 포함 하는 부모 컨트롤에서 OnBubbleEvent 메서드가 발생 하 고 페이지에 "ChildControl class OnClick 메서드가 호출 되었습니다." 라는 문자열이 기록 됩니다.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

설명

Repeater, DataListGridView 웹 컨트롤과 같은 ASP.NET 서버 컨트롤에는 이벤트를 발생 시키는 자식 컨트롤이 포함 될 수 있습니다.ASP.NET server controls such as the Repeater, DataList and GridView Web controls can contain child controls that raise events. 예를 들어 GridView 컨트롤의 각 행에는 템플릿으로 동적으로 생성 된 단추가 하나 이상 포함 될 수 있습니다.For example, each row in a GridView control can contain one or more buttons created dynamically by templates. 이벤트를 개별적으로 발생 시키는 대신, 중첩 된 컨트롤의 이벤트는 "버블링" 됩니다. 즉, 컨트롤의 부모에 전송 됩니다.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. 그러면 부모는 매개 변수 값을 사용 하 여 RowCommand 라는 일반 이벤트를 발생 시킵니다.The parent in turn raises a generic event called RowCommand with parameter values. 이러한 값을 사용 하 여 원래 이벤트를 발생 시킨 개별 컨트롤을 확인할 수 있습니다.These values allow you to determine which individual control that raised the original event. 이 단일 이벤트에 응답 하 여 자식 컨트롤에 대 한 개별 이벤트 처리 메서드를 작성 하지 않아도 됩니다.By responding to this single event, you can avoid having to write individual event-handling methods for child controls.

이 메서드를 재정의할 수는 없지만 작성자가 만든 컨트롤은 OnBubbleEvent 메서드를 재정의 하 여 버블링 이벤트를 처리 하거나 발생 시킬 수 있습니다.While you cannot override this method, controls you author can handle or raise bubbled events by overriding the OnBubbleEvent method.

적용 대상

추가 정보