블로그 이미지
Welcome to Tim's blog 딤스

카테고리

분류 전체보기 (13)
JAVA (4)
ASP.NET (8)
SECURITY (1)
ETC (0)
Total
Today
Yesterday

2-1. 웹폼

ASP.NET / 2018. 12. 5. 16:33
1. 웹 폼의 구성
 - 표현부분 (웹폼의 시각적인 부분을 담당) : 태그, 서버 컨트롤, 정적 텍스트와 같이 웹 폼을 시각적으로 나타낼 수 있는 요소가 위치한다.
 - 코드부분 (웹폼의 내부 로직 부분을 담당) : .NET 언어를 통해 작성한 내부 로직이 위치한다.

 <script runat="server">

   //내부로직

 </script>

                 코드 부분(logic)

 <html>

   <body>

    ...

   </body>

 </html>

                 표현 부분




2. 웹 폼 코드 모델
 - 단일 파일 페이지 모델 (Single-File Page Model)
    코드 부분과 표현 부분이 .aspx 파일(동일한 웹 폼)에 같이 존재하는 형태.
    코드와 태그를 한 곳에서 확인할 수 있으므로 쉽게 웹 폼을 분석할 수 있다.
    파일간에 종속성이 없으므로 단일 파일 페이지의 이름을 쉽게 수정할 수 있다.
    코드부분은 반드시<script runat="server"> </script> 태그 사이에 위치해야 한다 .

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

 

<html>

   <body>

    ...

   </body>

  </html>

 

 

      .aspx 파일

 

 using System;

 using System.Data;

 ...

 public partial class Default_:Page

 {

     //내부 로직

 }

 

        .cs 파일



- Partial 클래스의 특징
  1. ASP.NET 2.0 코드 숨김 페이지 모델에서는 C#2.0에 추가된 partial 형식이라는 새로운 언어기능을 사용하여  1.x에서 가지고 있던 상속의 복잡성, 컴파일의 복잡성 문제를 한번에 해결했다.
  2. partial 형식은 클래스(또는 구조체, 인터페이스)를 두 개 이상의 소스 파일로 분할할 수 있는 기능을 말한다.
  3. partial 클래스로 분할된 여러 클래스는 컴파일 시 컴파일러에 의해 합쳐진다. 
  4. ASP.NET 2.0의 코드 숨김파일(.cs 파일)은 partial 클래스로 정의된다.
  5. parrtial 클래스로 만들어진 코드 숨김 파일에는 웹 폼으로 사용된 서버 컨트롤에 대한 변수와 이벤트 바인딩 관련 구문을 추가할 필요가 없으며 서버 컨트롤 변수와 이벤트 바인딩 관련 구문은 런타임에 컴파일러에서 모두 처리해 준다. (cf. 1.x 에서는 다 작성해줘야 함)
     결과적으로 코드 숨김 파일에는 개발자가 생각하는 논리만 깔끔하게 작성하면 된다.

  ※ 코드 숨김 페이지 모델을 지원하지 않는 .NET 언어 : J#과 같이 partial 클래스를 지원하지 않는 .NET 언어를  사용하면 코드 숨김 페이지 모델의 웹 폼을 만들 수 없다.


 

3. 웹 폼 이벤트

아래와 같은 형태로 사용. (sender : 이벤트가 발생한 개체를 나타내는 개체, e : 이벤트 관련 정보를 포함하는 이벤트 개체)

 Protected void Page_Load(object sender, EventArgs e)
 {

 }

- 웹 폼 이벤트 발행 순서
  Init 이벤트 -> LoadView State 이벤트 (서버 컨트롤 정보) -> Load 이벤트 -> 서버 컨트롤 이벤트 -> PreRender 이벤트 -> SaveView State 이벤트 -> Unload 이벤트

 * Init, Load, PreRender 가장 많이 사용되는 이벤트


4. 다시 게시(Postback)과 페이지 간 게시(Cross-Page Posting)
 - 다시 게시 (Postback)이란 default.aspx란 페이지가 웹 서버에게 다시 default.aspx란 페이지를 요청하는 프로세스.









추가 예제(발생할 수 있는 문제) : http://beomsik.com/30061542930



- 페이지 간 게시 (Cross-Page Posting)
 자신이 아닌 다른  대상 페이지로 현재 페이지를 서버로 전송하는 프로세스.









'ASP.NET' 카테고리의 다른 글

3-2 마스터 페이지  (0) 2018.12.05
3-1. 테마  (0) 2018.12.05
2-2. 표준컨트롤, 서버컨트롤  (0) 2018.12.05
1. 닷넷 프레임워크  (0) 2018.12.05
ASP.NET Index  (0) 2018.12.05
Posted by 딤스
, |

최근에 달린 댓글

글 보관함