Control.OnBubbleEvent(Object, EventArgs) 메서드

정의

서버 컨트롤의 이벤트가 페이지의 UI 서버 컨트롤 계층 구조에 전달되었는지 여부를 확인합니다.Determines whether the event for the server control is passed up the page's UI server control hierarchy.

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

매개 변수

source
Object

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

args
EventArgs

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

반환

Boolean

이벤트가 취소되었으면 true를 반환하고, 그렇지 않으면 false를 반환합니다.true if the event has been canceled; otherwise, false. 기본값은 false입니다.The default is false.

예제

다음 예제에서는 OnBubbleEvent 사용자 지정 ASP.NET 서버 컨트롤의 메서드를 재정의 ParentControl 합니다.The following example overrides the OnBubbleEvent method in a custom ASP.NET server control, ParentControl. 이 메서드는의 자식 컨트롤이 ParentControl 메서드를 호출할 때 호출 됩니다 RaiseBubbleEvent .This method is invoked when a child control of ParentControl calls the RaiseBubbleEvent method. 이 경우 ParentControl 클래스는 두 개의 문자열을 포함 하는 ASP.NET 페이지에 씁니다. 첫 번째는 해당 메서드가 호출 되었음을 나타내는 것이 고, OnBubbleEvent 두 번째는 메서드의 소스 제어를 식별 합니다 RaiseBubbleEvent .When this happens, the ParentControl class writes two strings to the containing ASP.NET page, the first stating that its OnBubbleEvent method has been called, the second identifying the source control of the RaiseBubbleEvent method.

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
 _

설명

, 및 웹 컨트롤과 같은 ASP.NET 서버 컨트롤에는 Repeater DataList 이벤트를 GridView 발생 시키는 자식 컨트롤이 포함 될 수 있습니다.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 naming container. 그러면 명명 컨테이너는 RowCommand 매개 변수 값을 사용 하 여 라는 일반 이벤트를 발생 시킵니다.The naming container 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.

적용 대상

추가 정보