asp.net 의 웹폼

jin_112·2022년 7월 7일
0

개발

목록 보기
1/1

웹 폼

웹폼(Web Form)은 ASP.NET의 기본 철학이라고 할 수 있는 프로그래밍이 가능한 웹 페이지를 구성 하는데 사용되는 핵심적인 기술.

이를 통해 마치 Visual Basic으로 윈도 애플리케이션을 만드는것과 동일한 방법으로 애플리케이션을 작성할 수 있게 되었다.

'웹 폼'은 'ASP.NET페이지'와 같은 용어로 사용된다. 인터넷 환경에서 정보를 요청한 클라이언트의 웹 브라우저에 보내져야 할 결과는 어차피 HTML 태그로 이루어진 텍스트 기반의 코드이다.
따라서 웹 폼은 사용자에게 정보를 전달하기 위해 HTML을 이용하고 애플리케이션 로직을 구현하기 위해 서버측 코드(server side code)를 사용하는 기술이다.

웹폼의 구성

  • 표현 부분(시각적인 부분)
    태그, 서버 컨트롤, 정적 텍스트와 같이 웹 폼을 시각적으로 나타낼 수 있는 요소가 위치
  • 코드 부분(내부 로직 부분)
    .NET 언어를 통해 작성한 내부 로직이 위치

웹 폼은 사용자 인터페이스를 담당하는 컨텐츠 부분과 프로그램 로직을 담당하는 서버코드 부분으로 구성된다.


단일 파일 페이지 모델(Single-file Page model)
코드 부분과 표현 부분이 .aspx 파일(동일한 웹 폼)에 같이 존재하는 형태
코드와 태그를 한 곳에서 확인 할수 있으므로 쉽게 웹 폼을 분석 할 수 있다
파일간에 종속성이 없으므로 단일 파일 페이지의 이름을 쉽게 수정 할 수 있다


<script runat="server">
//내부로직
</scrpt>
코드부분 (Logic)

<html>
<body>
...
</body>
</html>
표현부분



코드 숨김 페이지 모델(Code-Behind Page Model)

APS.NET에서 컨텐츠와 코드를 분리하는게 가능한 이유는 서버 코드 상에서 제어 할 수 있는 서버 컨트롤이 제공되기 때문이다. 이러한 서버 컨트롤은 크게 HTML 서버 컨트롤웹 폼 컨트롤로 구분된다

표현 부분은 .aspx 파일, 코드부분은 다른 클래스 파일(.cs파일)에 놓여지는 형태
코드 부분과 표현 부분을 완전히 구분하기 때문에 개발자가 코드를 작성하는 동안 웹 디자이너는 태그로 디자인 작업을 진행 할 수 있다.
코드를 여러 페이지에 재 사용 할 수 있다.


<html>
<body>
...
</body>
</html>

.aspx 파일

using System;
using System.Data;
...
public partial class Default_:page
{
 //내부로직
}

코드 비하인드에서 한가지 짚고 넘어가야 할 것은 컨텐츠부인 .aspx 파일과 코드부인 .aspx.vb 혹은 .aspx.cs 파일과의 관계이다. 짝으로 존재 하기 때문에 수평적인 관계라고 이해하겠지만, 실제는

.aspx파일은 .aspx.vb나 *.aspx.cs로부터 클래스를 상속받는 수직적인 관계이다.



웹폼의 주요 기술적인 내용

  • 웹폼은 서버상에서 동적으로 웹 페이지를 생성할 수 있는 프로그래밍 모델로서 제시된 ASP.NET프로그래밍 기술이다.
  • 웹 폼은 어떠한 웹 브라우저에서도 실행 될 수 있으며, 자동으로 클라이어트의 타입을 판단해서 적절한 스타일과 레이아웃의 HTML 코드를 렌더링한다.
  • 웹 폼은 Visual Basic.NET, C#, Managed C++, Jscript.NET 등 .NET프레임워크를 지원하는 모든 언어를 이용해서 개발될 수 있다.
  • 웹 폼은 관리적 실행환경, 데이터 타입의 안정성, 상속 등과 같은
    .NET프레임워크의 모든 장점을 제공한다.
  • Visual Studio.NET은 웹 폼을 디자인하고 프로그래밍하기 위한 최적의 RAD 개발 환경을 제공한다.
  • 웹 개발에서 윈도 애플리케이션 개발처럼 서버 기반의 컨트롤들이 제공된다.
  • 웹 폼은 사용자 정의 컨트롤(Custom Control)과 서드 파티 컨트롤을 이용해서 확장할 수 있다
  • 하나의 서버코드 페이지는 여러개의 컨텐츠 페이지들과 서로 공유 될 수 있다.


웹폼 이벤트의 주요 실행 순서

Init 이벤트 → LoadView State 이벤트 → Load 이벤트 → 서버 컨트롤 이벤트 →

PreRender 이벤트 → SavsViewState 이벤트 → Unload 이벤트

  1. Init 이벤트
    웹 폼 페이지가 요청 되었을 때 처음 발생하는 이벤트로 서버 컨트롤들을 초기화 하는 역활을 담당
  2. LoadView State 이벤트
    서버 컨트롤의 정보를 가지고 있는 뷰 상태(View State)라는 것을 Load(복원) 하는 이벤트
    LoadView State 이벤트를 기준으로 서버 컨트롤 사용 여부 구분
  3. Load 이벤트
    컨트롤의 초기화가 끝난 후 웹 폼 페이지와 서버 컨트롤들이 로드 될 때 발생하는 이벤트
  4. 서버 컨트롤 이벤트(ex. button 컨트롤의 click 이벤트)
  5. PreRender 이벤트
    웹 폼 페이지 내의 서버측 스크립트의 실행을 모두 마치고 page 클래스와 그 안의 포함된 자식 컨트롤들이 렌더링 되기 직전 발생
  6. SaveView State 이벤트
  7. Unload 이벤트
    웹폼 페이지의 실행을 모두 마치고 페이지가 메모리에서 제거 될 때 발생

참고 https://only1004.tistory.com/6

profile
hello there

0개의 댓글