방법: ASP.NET 웹 페이지에서 런타임에 이벤트 처리기 동적으로 바인딩

업데이트: 2007년 11월

적절한 시그니처를 가진 이벤트 처리 메서드가 페이지에 이미 있으면 런타임에 컨트롤 이벤트를 이 메서드에 바인딩할 수 있습니다. 일반적으로 프로그래밍 방식으로 컨트롤을 만드는 경우에 이를 수행합니다.

Visual Basic을 사용하여 런타임에 이벤트 처리기를 만들려면

  • AddHandler 문을 포함한 다음 바인딩할 이벤트와 호출할 메서드의 주소를 문에 전달합니다.

    이벤트가 발생하려면 먼저 이 문이 실행되어야 합니다. 일반적으로 페이지를 초기화하는 동안 처리기를 추가합니다.

    다음 코드 예제에서는 Button1 컨트롤의 Click 이벤트를 myEventHandler 메서드에 바인딩하는 방법을 보여 줍니다.

    AddHandler Button1.Click, AddressOf myEventHandler
    

Visual C#을 사용하여 런타임에 이벤트 처리기를 만들려면

  1. EventHandler 대리자의 인스턴스를 만든 다음 바인딩할 메서드의 주소를 인스턴스에 전달합니다.

  2. 이벤트가 발생할 때 호출되는 메서드의 목록에 대리자 개체를 추가합니다.

    다음 코드 예제에서는 Button1 컨트롤의 Click 이벤트를 myEventHandler 메서드에 바인딩하는 방법을 보여 줍니다.

    Button1.Click += new System.EventHandler(this.myEventHandler);
    

참고 항목

개념

ASP.NET 웹 서버 컨트롤 이벤트 모델

기타 리소스

ASP.NET 웹 페이지에서 서버 이벤트 처리

프로그래밍 방식으로 ASP.NET 컨트롤 추가