웹폼(Web Form)은 ASP.NET의 기본 철학이라고 할 수 있는 프로그래밍이 가능한 웹 페이지를 구성 하는데 사용되는 핵심적인 기술.
이를 통해 마치 Visual Basic으로 윈도 애플리케이션을 만드는것과 동일한 방법으로 애플리케이션을 작성할 수 있게 되었다.
'웹 폼'은 'ASP.NET페이지'와 같은 용어로 사용된다. 인터넷 환경에서 정보를 요청한 클라이언트의 웹 브라우저에 보내져야 할 결과는 어차피 HTML 태그로 이루어진 텍스트 기반의 코드이다.
따라서 웹 폼은 사용자에게 정보를 전달하기 위해 HTML을 이용하고 애플리케이션 로직을 구현하기 위해 서버측 코드(server side code)를 사용하는 기술이다.
웹 폼은 사용자 인터페이스를 담당하는 컨텐츠 부분과 프로그램 로직을 담당하는 서버코드 부분으로 구성된다.
단일 파일 페이지 모델(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로부터 클래스를 상속받는 수직적인 관계이다.