수색…


통사론

  • private void EventName (객체 발신자, EventArgs e);

매개 변수

매개 변수 세부
객체 발신자 보낸 사람은 이벤트 처리기를 시작한 이벤트를 호출 한 개체를 참조합니다. 이는 동일한 이벤트 핸들러를 사용하는 많은 오브젝트가있는 경우에 유용합니다.
EventArgs e EventArgs는 더미 기본 클래스의 일부입니다. 자체적으로는 쓸모가 없지만, 이벤트 핸들러에 전달해야하는 데이터를 추가 할 수 있습니다.

응용 프로그램 및 세션 이벤트

가장 중요한 응용 프로그램 이벤트는 다음과 같습니다.

Application_Start - 응용 프로그램 / 웹 사이트가 시작될 때 발생합니다.

Application_End - 응용 프로그램 / 웹 사이트가 중지되면 발생합니다.

비슷하게 가장 많이 사용되는 Session 이벤트는 다음과 같습니다.

Session_Start - 사용자가 애플리케이션에서 페이지를 처음 요청할 때 발생합니다.

Session_End - 세션이 끝나면 발생합니다.

페이지 및 제어 이벤트

공통 페이지 및 제어 이벤트는 다음과 같습니다.

DataBinding - 컨트롤이 데이터 소스에 바인딩 될 때 발생합니다.

Disposed - 페이지 또는 컨트롤이 해제 될 때 발생합니다.

오류 - 처리되지 않은 예외가 발생할 때 발생하는 페이지 이벤트입니다.

Init - 페이지 또는 컨트롤이 초기화 될 때 발생합니다.

로드 - 페이지 또는 컨트롤이로드 될 때 발생합니다.

PreRender - 페이지 또는 컨트롤을 렌더링 할 때 발생합니다.

언로드 - 페이지 또는 컨트롤이 메모리에서 언로드 될 때 발생합니다.

기본 이벤트

Page 오브젝트의 기본 이벤트는 Load 이벤트입니다. 마찬가지로 모든 컨트롤에는 기본 이벤트가 있습니다. 예를 들어, 버튼 컨트롤의 기본 이벤트는 Click 이벤트입니다.

디자인 뷰에서 컨트롤을 두 번 클릭하기 만하면 Visual Studio에서 기본 이벤트 처리기를 만들 수 있습니다. 다음 표는 일반 컨트롤에 대한 몇 가지 기본 이벤트를 보여줍니다.

제어 기본 이벤트
AdRotator AdCreated
BulletedList 딸깍 하는 소리
단추 딸깍 하는 소리
캘린더 SelectionChanged
CheckBox CheckedChanged
CheckBoxList SelectedIndexChanged
DataGrid SelectedIndexChanged
데이터 목록 SelectedIndexChanged
드롭 다운 목록 SelectedIndexChanged
하이퍼 링크 딸깍 하는 소리
ImageButton 딸깍 하는 소리
ImageMap 딸깍 하는 소리
LinkButton 딸깍 하는 소리
리스트 박스 SelectedIndexChanged
메뉴 MenuItem 딸깍 하는 소리
라디오 버튼 CheckedChanged
RadioButtonList SelectedIndexChanged

예제이 예제에는 레이블 컨트롤과 버튼 컨트롤이있는 간단한 페이지가 포함되어 있습니다. Page_Load, Page_Init, Page_PreRender 등의 페이지 이벤트가 발생하면 레이블 컨트롤에 의해 표시되는 메시지를 보냅니다. 단추를 클릭하면 Button_Click 이벤트가 발생하고 레이블에 표시 할 메시지를 보냅니다.

새 웹 사이트를 만들고 컨트롤 도구 상자에서 레이블 컨트롤과 버튼 컨트롤을 드래그하십시오. 속성 창을 사용하여 컨트롤의 ID를 .lblmessage로 설정하십시오. .btnclick. 각기. Button 컨트롤의 Text 속성을 'Click'으로 설정합니다.

마크 업 파일 (.aspx) :

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" 
   Inherits="eventdemo._Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >

   <head runat="server">
      <title>Untitled Page</title>
   </head>
   
   <body>
      <form id="form1" runat="server">
         <div>
            <asp:Label ID="lblmessage" runat="server" >
            
            </asp:Label>
            
            <br />
            <br />
            <br />
            
            <asp:Button ID="btnclick" runat="server" Text="Click" onclick="btnclick_Click" />
         </div>
      </form>
   </body>
   
</html>

디자인 뷰를 두 번 클릭하여 코드 숨김 파일로 이동합니다. Page_Load 이벤트는 코드가 없어도 자동으로 생성됩니다. 다음과 같은 설명이 가능한 코드 행을 적어 두십시오.

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;

using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;

using System.Xml.Linq;

namespace eventdemo {

   public partial class _Default : System.Web.UI.Page {
   
      protected void Page_Load(object sender, EventArgs e) {
         lblmessage.Text += "Page load event handled. <br />";
         
         if (Page.IsPostBack) {
            lblmessage.Text += "Page post back event handled.<br/>";
         }
      }
      
      protected void Page_Init(object sender, EventArgs e) {
         lblmessage.Text += "Page initialization event handled.<br/>";
      }
      
      protected void Page_PreRender(object sender, EventArgs e) {
         lblmessage.Text += "Page prerender event handled. <br/>";
      }
      
      protected void btnclick_Click(object sender, EventArgs e) {
         lblmessage.Text += "Button click event handled. <br/>";
      }
       }
    }

페이지를 실행하십시오. 레이블은 페이지로드, 페이지 초기화 및 페이지 사전 렌더링 이벤트를 표시합니다. 효과를 보려면 단추를 클릭하십시오.

여기에 이미지 설명을 입력하십시오.



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow