수색…
통사론
- 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/>";
}
}
}
페이지를 실행하십시오. 레이블은 페이지로드, 페이지 초기화 및 페이지 사전 렌더링 이벤트를 표시합니다. 효과를 보려면 단추를 클릭하십시오.