Presentation is loading. Please wait.

Presentation is loading. Please wait.

웹 폼 이벤트 이벤트와 이벤트 처리기 이벤트(event)는 사전적 의미로 ‘사건, ‘일어난 일’, ‘행사’ 등의 뜻을 가지며 .NET 응용 프로그램에서의 이벤트는 코드로 응답하거나 처리할 수 있는 동작 자체를 의미합니다. ASP.NET의 서버 컨트롤과 웹 폼은 여러 상황에.

Similar presentations


Presentation on theme: "웹 폼 이벤트 이벤트와 이벤트 처리기 이벤트(event)는 사전적 의미로 ‘사건, ‘일어난 일’, ‘행사’ 등의 뜻을 가지며 .NET 응용 프로그램에서의 이벤트는 코드로 응답하거나 처리할 수 있는 동작 자체를 의미합니다. ASP.NET의 서버 컨트롤과 웹 폼은 여러 상황에."— Presentation transcript:

1 웹 폼 이벤트 이벤트와 이벤트 처리기 이벤트(event)는 사전적 의미로 ‘사건, ‘일어난 일’, ‘행사’ 등의 뜻을 가지며 .NET 응용 프로그램에서의 이벤트는 코드로 응답하거나 처리할 수 있는 동작 자체를 의미합니다. ASP.NET의 서버 컨트롤과 웹 폼은 여러 상황에 맞게 미리 정의된 이벤트 집합을 개발자에게 제공합니다. 이벤트 처리기(event handler)는 이벤트에 바인딩되는 메서드입니다. 이벤트가 발생하면 이벤트와 연결된(바인딩 된) 이벤트 처리기가 실행됩니다.

2 웹 폼 이벤트 모든 이벤트 처리기는 다음과 같이 두 개의 매개변수를 정의합니다.
protected void Page_Load(object sender, EventArgs e) { } 하나는 이벤트가 발생한 개체를 나타내는 개체(sender)이며 다른 하나는 이벤트 관련 정보를 포함하는 이벤트 개체(e)입니다. 특히 두 번째 매개변수는 주로 EventArgs 형식이지만 일부 서버 컨트롤들은 나름대로의 고유 형식을 사용합니다.

3 웹 폼 이벤트 Load 이벤트 웹 폼은 웹 폼 고유의 이벤트를 가지고 있습니다. 그 중 가장 사용 빈도가 높은 것은 바로 Load 이벤트입니다. 페이지 실행 주기 아래 표는 웹 폼이 실행될 때 즉, 페이지가 로드 될 때 발생할 수 있는 이벤트를 순서에 따라 정리한 것입니다.

4 웹 폼 이벤트 이벤트 활성 여부 Constructor 항상 Construct TestDeviceFilter
AddParsedSubObject DeterminePostBackMode PreInit LoadPersonalizationData InitializeThemes Init ApplyControlSkin ApplyPersonalization InitComplete LoadPageStateFromPersistenceMedium 다시 게시(postback) LoadControlState 다시 게시 LoadViewState ProcessPostData1

5 웹 폼 이벤트 PreLoad 항상 Load ProcessPostData2 다시 게시 RaiseChangedEvents
RaisePostBackEvent LoadComplete PreRender PreRenderComplete SavePersonalizationData SaveControlState SaveViewState SavePageStateToPersistenceMedium Render Unload

6 웹 폼 이벤트 사실 ASP.NET 2.0으로 넘어오면서 페이지 로딩 시 발생할 수 있는 이벤트가 많이 추가 되었습니다. 이 말은 페이지 로딩 시 이벤트가 더 세분화 되었다는 뜻이며 개발자가 웹 폼 이벤트를 좀더 세세하게 제어할 수 있게 되었다는 뜻이기도 합니다. 활성 여부 부분에서 ‘항상’과 ‘다시 게시(postback)’가 있는 데 ‘항상’은 페이지가 로드 될 때 항상 실행되는 이벤트라는 의미이며 ‘다시 게시’는 다시 게시 될 때에만 실행되는 이벤트라는 뜻입니다.

7 웹 폼 이벤트 위의 표에서 우리가 유심히 봐야 할 이벤트는 다음 세 개로 추려낼 수 있습니다.
Init Load PreRender 이 이벤트들은 개발 시 개발자들이 가장 많이 사용하는 웹 폼 이벤트입니다. 그 중에서도 특히 Load 이벤트가 가장 많이 사용되고 그 다음으로 PreRender 이벤트가 많이 사용됩니다.

8 웹 폼 이벤트 다음은 웹 폼 이벤트의 주요 실행 순서를 그림으로 표현한 것입니다. [웹 폼 이벤트 실행 순서]

9 웹 폼 이벤트 [예제 5-3] 웹 폼 이벤트 실행 순서

10 다시 게시와 페이지 간 게시 다시 게시(Postback)
다시 게시는 자신을 타겟으로 하여 현재 페이지를 다시 서버로 전송하는 프로세스입니다. 위의 그림을 보면 다시 게시가 자신을 타겟으로 하여 현재 페이지를 다시 서버로 전송하는 행위임을 볼 수 있습니다.단, 사용자가 페이지를 처음 요청하는 것은 다시 게시가 아닙니다. 다시 말해 페이지가 처음 로드 된 것은 다시 게시가 아니라는 말입니다.

11 다시 게시와 페이지 간 게시 [예제 5-4] 다시 게시 예제
[실습] Button 서버 컨트롤의 Click 이벤트 처리기 등록하기

12 다시 게시와 페이지 간 게시 [예제 5-5] 텍스트 박스에 입력된 값을 출력하는 예제

13 다시 게시와 페이지 간 게시 <Vitamin Quiz> 다시 게시와 웹 폼 실행 순서 예제 5-5의 실행 결과는 우리가 예상 했던 결과가 아닙니다. 우리가 예상 했던 결과는 최종적으로 텍스트 박스에 입력한 문자열이 출력되는 다음 그림과 같은 모습입니다. 위와 같이 제대로 된 결과가 나올 수 있도록 Page_Load() 이벤트 처리기를 수정해 봅시다.

14 다시 게시와 페이지 간 게시 페이지 간 게시(Cross-Page Posting)
다시 게시(postback)가 자신을 타겟으로 하여 현재 페이지를 다시 서버로 전송하는 프로세스인데 반해 페이지 간 게시는 타겟을 다른 대상 페이지로 하여 현재 페이지를 서버로 전송하는 프로세스입니다.

15 다시 게시와 페이지 간 게시 [예제 5-6] 페이지 간 게시 예제

16 ASP.NET 2.0 응용 프로그램 구조 구성 파일(Configuration File) Global.asax 파일
구성 파일은 응용 프로그램이나 웹 사이트에 대한 옵션 설정정보가 들어 있는 .config 확장자를 가진 XML 파일입니다. Global.asax 파일 Global.asax 파일은 ASP.NET 응용 프로그램 파일이라고도 하며 ASP.NET에 의해 발생되는 응용 프로그램 수준의 이벤트(웹 응용 프로그램 시작 이벤트, 웹 응용 프로그램 종료 이벤트 등등)를 처리하는 파일입니다.

17 ASP.NET 2.0 응용 프로그램 구조 ASP.NET 응용 프로그램 폴더

18 ASP.NET 2.0 응용 프로그램 구조 폴더 설명 App_Browsers
개별 브라우저를 식별하고 브라우저의 기능을 확인하기 위해 ASP.NET에서 사용하는 브라우저 정의(.browser 파일)를 포함합니다. App_Code 응용 프로그램의 일부로 컴파일할 클래스 파일(.cs, .vb 등등)을 포함합니다. App_Code 폴더는 이 온라인 강의의 실전 예제를 다루는 25장, 26장, 27장, 28장에서 사용됩니다. App_Data MDF 파일, XML 파일 및 기타 데이터 저장소 파일을 비롯한 응용 프로그램 데이터 파일을 포함합니다. 이 폴더는 ‘13장. 보안’, ‘15장. 웹 파트’에서 사용됩니다. App_GlobalResources 전역 범위의 어셈블리로 컴파일되는 리소스(.resx 및 .resources 파일)를 포함합니다. 이 폴더는 ‘17장. 다국적 웹 사이트 만들기’에서 사용됩니다. App_LocalResources 응용 프로그램의 특정 페이지, 사용자 정의 컨트롤 또는 마스터 페이지와 관련된 리소스(.resx 및 .resources 파일)를 포함합니다. 이 폴더는 ‘17장. 다국적 웹 사이트 만들기’에서 사용됩니다.

19 ASP.NET 2.0 응용 프로그램 구조 App_Themes
ASP.NET 페이지와 서버 컨트롤의 모양을 정의하는 파일(.skin 및 .css 파일, 그리고 이미지 파일과 일반 리소스)의 컬렉션을 포함합니다. 이 폴더는 ‘10장. 테마’에서 사용됩니다. App_WebReferences 응용 프로그램에서 사용할 웹 참조를 정의하는 참조 계약 파일(.wsdl 파일), 스키마(.xsd 파일), 검색 문서 파일(.disco 파일, .discomap 파일)을 포함합니다. Bin 응용 프로그램에서 참조할 컨트롤, 구성 요소 또는 기타 코드에 대해 컴파일 된 어셈블리(.dll 파일)를 포함합니다.

20 이것만은 알고 갑시다 1. 각 문장에 어울리는 적절한 용어를 상자 안에서 골라 보세요.
partial 형식 이벤트 처리기 단일 파일 페이지 모델 페이지 간 게시 표현 부분 코드 숨김 페이지 모델 Global.asax 코드 부분 ASP.NET 응용 프로그램 폴더 소스 뷰 PostBackUrl 다시 게시 이벤트 XHTML 디자인 뷰 웹 폼 구성 파일 IsPostBack ( )은 ASP.NET 페이지(.aspx 파일)와 같은 개념으로서 ASP.NET 프로그래밍을 하기 위해 사용하는 Form(형틀) 또는 기반입니다. 웹 폼은 웹 폼의 시각적인 부분을 담당하는 ( )과 웹 폼의 내부 로직을 처리하는 ( )으로 구성되어 있습니다. VS 2005에서는 웹 폼 효율적인 작성을 위해 ( )와 ( )를 제공합니다. 웹 폼 코드 모델에는 코드 부분, 표현 부분이 동일한 웹 폼에 존재하는 ( )과 코드 부분, 표현 부분이 분리되어 있는 ( )이 존재합니다. ( )은 HTML을 XML 문서로 정의하는 W3C의 표준으로서 엄격한 문법 체크와 웹 페이지의 스타일 및 내용의 완전한 분리를 통해 특정 시스템, 운영체제, 브라우저에 상관없이 모든 환경에서 호환되는 웹 페이지를 만들 수 있도록 해줍니다. ASP.NET 2.0 코드 숨김 페이지 모델에서는 C# 2.0에 추가된 ( )라는 새로운 언어 기능을 사용하여 ASP.NET 1.x에서 가지고 있던 상속의 복잡성, 컴파일의 복잡성 문제를 한번에 해결했습니다. ( )는 .NET 응용 프로그램에서 코드로 응답하거나 처리할 수 있는 동작 자체를 의미합니다.

21 이것만은 알고 갑시다 ( )는 해당 이벤트 발생 시 실행되는 메서드입니다.
partial 형식 이벤트 처리기 단일 파일 페이지 모델 페이지 간 게시 표현 부분 코드 숨김 페이지 모델 Global.asax 코드 부분 ASP.NET 응용 프로그램 폴더 소스 뷰 PostBackUrl 다시 게시 이벤트 XHTML 디자인 뷰 웹 폼 구성 파일 IsPostBack ( )는 해당 이벤트 발생 시 실행되는 메서드입니다. ( )는 자신을 타겟으로 하여 현재 페이지를 서버로 전송하는 프로세스입니다. ( )는 다른 대상 페이지를 타겟으로 하여 현재 페이지를 서버로 전송하는 프로세스입니다. Page 개체의 ( ) 속성은 웹 폼의 다시 게시(postback) 여부를 bool 형식의 값으로 반환합니다. Button 서버 컨트롤을 사용하여 페이지 간 게시를 구현하려면 Button 서버 컨트롤의 ( ) 속성에 타겟 페이지의 경로를 지정하면 됩니다. ( )은 응용 프로그램이나 웹 사이트에 대한 옵션 설정정보가 들어 있는 .config 확장자를 가진 XML 파일입니다. ( ) 파일은 ASP.NET 응용 프로그램 파일이라고도 하며 ASP.NET에 의해 발생되는 응용 프로그램 수준의 이벤트를 처리하는 파일입니다. ASP.NET 2.0에서는 특정한 콘텐츠 형식에 사용할 수 있는 특정 폴더(예약된 폴더)를 제공하는 데 이것을 ( )라고 하며 여기에는 App_Code, App_Data, App_Themes, Bin과 같은 폴더들이 있습니다.

22 이것만은 알고 갑시다 2. 다음은 웹 폼의 주요 실행 순서입니다. (1), (2), (3)에 들어갈 적절한 이벤트를 상자 안에서 골라 보세요. Load 이벤트 서버 컨트롤 이벤트 Init 이벤트


Download ppt "웹 폼 이벤트 이벤트와 이벤트 처리기 이벤트(event)는 사전적 의미로 ‘사건, ‘일어난 일’, ‘행사’ 등의 뜻을 가지며 .NET 응용 프로그램에서의 이벤트는 코드로 응답하거나 처리할 수 있는 동작 자체를 의미합니다. ASP.NET의 서버 컨트롤과 웹 폼은 여러 상황에."

Similar presentations


Ads by Google