Programming/.NET
ASP.NET 지시문은 기본적으로 컴파일러가 페이지를 컴파일시 사용하는 것으로 페이지 처리를 제어하는데 사용합니다.
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
위는 Page 지시문의 예로서 보시는 바와 같이 <%@로 시작해 %>로 끝나며 해당 지시문이 페이지안에 어디에 있건 상관이 없으나 통상 페이지의 상단에 위치합니다.

아래 표 1-1은 사용가능한 지시문의 목록과 용도를 나열한 것입니다.

 Assembly  어셈블리를 페이지나 사용자 정의 컨트롤과 연결 접근할 수 있도록 합니다.
 Control  사용자 정의 컨트롤에서 사용
 Implements  닷넷 프레임워크 인터페이스 구현
 Import  페이지나 컨트롤에 네임스페이스 참조추가
 Master  마스터 페이지에서 사용
 MasterType  마스터 페이지에서 사용 - 페이지 파싱및 컴파일시
 OutputCache  페이지나 컨트롤의 캐시정책 제어
 Page  페이지 파싱및 컴파일시 특정 속성 지정
 PreviousPageType  다른 페이지와의 포스트백 수행시 사용하며 포스팅되어 오는 페이지를 지정합니다.
 Reference  페이지나 컨트롤을 현재 페이지나 컨트롤에서 사용할 수 있도록 연결
 Register  사용자 지정컨트롤 연결및 접두사 지정하는 것으로 사용자 정의 컨트롤 등록시 지정된 별칭을 통해 해당 컨트롤에 접근할 수 있도록 합니다.
<표 1-1>

예를 들어 OutputCache 의 경우 다음과 같이 지시문을 작성할 수 있으며
<%@ OutputCache Duration="10" VaryByParam="None" %>
이 지시문은 10초동안 서버의 메모리에 페이지를 캐시하도록 합니다. 해당 지시문을 사용하는 페이지가 마스터페이지를 사용하는 경우라면 마스터페이지까지도 캐시정책에 포함되는데 참고로 마스터는 OutputCache 를 지정할 수 없습니다.

1. Page 주요 속성

(1) AspCompat

페이지를 STA(Sing-Threaded Apartment)로 실행할지를 지정합니다.

(2) Async

페이지의 동기/비동기 처리여부를 지정합니다.

(3) AsyncTimeout

Async가 비동기로 설정된 경우 처리완료대기 시간을 설정합니다. 기본값은 45초입니다.

(4) AutoEventWireup

다중속성이 아닌 단독속성으로 설정해야 하며 이 값을 false로 지정하는 경우 페이지내에서 이벤트를 정의하면 인라인형태로 이벤트가 연결됩니다.

(5) Buffer

HTTP응답 버퍼링을 설정합니다.

(6) ClientIDMode

페이지내에서 사용된 서버컨트롤의 ID지정 모드를 설정합니다. 기본값은 AutoID입니다.

(7) CompilationMode

페이지의 컴파일처리를 설정합니다. 기본값은 Auto입니다.(컴파일이 필요한 경우가 아니면 컴파일 하지 않습니다.)

(8) Description

페이지에 설명을 추가합니다. 컴파일설정과는 관련이 없으며 개발자 임의의 메모부분입니다.

(9) EnableEventValidation

포스트백및 콜백시 이벤트의 유효성을 검사할지 여부를 설정합니다.

(10) EnableSessionState

페이지에서 세션상태기능을 사용할지 지정합니다. 기본값은 true입니다.

(11) EnableTheming

페이지의 테마기능을 사용할지 지정합니다. 기본값은 false입니다.

(12) EnableViewState

페이지간의 뷰상태를 유지할지 지정합니다. 기본값은 true입니다.

(13) EnableViewStateMac

페이지간에 포스트백 발생시 뷰 상태에 대해 MAC(Machine Authentication Check)를 확인해야 하는지를 지정합니다. 기본값은 false입니다.

(14) ErrorPage

해당 페이지에서 오류발생시 표시할 페이지를 지정합니다.

(15) MaintainScrollPosttionOnPostback

페이지에서 포스트백이 발생된 이 후 페이지를 이전 스크롤상태에 위치시킬지 지정합니다.

(16) MetaDescription

검색엔진 최적화용으로 페이지의 설명을 설정합니다.

(17) MetaKeywords

검색엔진 최적화용으로 페이지의 키워드를 설정합니다.

(18) StylesheetTheme

페이지의 테마기능 사용시 해당 테마의 디자인이 정의된 Stylesheet 파일을 지정합니다. StylesheetTheme속성은 페이지의 서버컨트롤에 이미 정의된 스타일이 존재하는 경우에는 적용되지 않습니다.

(19) Theme

페이지의 테마기능 사용시 해당 테마의 디자인이 정의된 테마파일을 지정합니다. Theme속성은 페이지의 서버컨트롤에 이미 정의된 스타일이 존재하는 경우 기존 스타일을 무시하고 새롭게 스타일을 정의하도록 합니다.

(20) Title

페이지의 제목을 지정합니다. html에서 <title></title>과 같습니다.

(21) Trace

페이지 디버깅및 성능을 위한 페이지 추적기능을 사용할 수 있도록 설정합니다. 이 속성을 true로 하고 페이지를 실행하면 다음과 같은 추적결과가 표시됩니다.

 


(22) TraceMode

Trace를 사용할 경우 어떤 형태로 항목을 표시할지 설정합니다.

(23) Transaction

페이지에 트랜잭션 사용여부를 설정합니다.

(24) ValidateRequest

페이지안에 폼입력 데이터의 위험성 여부를 검증할지 지정합니다. 이 기능을 켜면 javascript등의 잠재적 위험이 있는 입력값이 존재하는 경우 요청을 처리하지 않도록 합니다.

(25) ViewStateEncryptionMode

페이지에서 뷰상태 암호화 방법을 지정합니다.

(26) WarningLevel

페이지 컴파일시 경고표시 수준을 지정합니다.

2. Master 주요 속성

(1) CompilerOptions

마스터 페이지 컴파일시 특정 옵션내용을 지정합니다.

(2) Inherits

마스터 페이지의 코드숨김 파일을 지정합니다.

(3) MasterPageFile

마스터 페이지에서 또 다른 마스터페이지를 사용하는 경우 해당 마스터페이지를 지정합니다.

3. Import 주요 속성

(1) Namespace

네임스페이스 참조를 지정합니다. Import 지시자는 Namespace 속성을 하나만 가질 수 있으며 여러 네임스페이스를 지정해야 하는 경우 Import 지시문을 다음과 같이 필요한 만큼 작성해야 합니다.
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Web" %>
C:\Windows\Microsoft.NET\Framework\v4~~~\Config 에 위치해 있는 web.config에는 이미 기본적으로 여러개의 네임스페이가 정의되어 있으며 필요하면 추가하거나 삭제할 수 있습니다. 물론 프로젝트의 Web.config에도 다음과 같이 system.web안에 설정이 가능합니다.
<pages>
    <namespaces>
        <add namespace="System.Data"/>
     </namespaces> 
</pages>
4. Register 주요 속성
<%@ Register TagPrefix="clt" Namespace="clt.myClass" Assembly="cltLib" %>
(1) TagPrefix

별칭을 지정합니다.

(2) Assembly

TagPrefix와 연결되는 컨트롤의 어셈블리를 지정합니다.

(3) Namespace

TagPrefix와 연결된 컨트롤의 네임스페이스를 지정합니다.

(4) Src

컨트롤의 위치지정를 지정합니다.

(5) TagName

컨트롤의 클래스와 연결되는 별칭을 지정합니다.

5. Assembly

(1) Name

어셈블리 이름입니다. 이때 어셈블리 이름이 aaa.dll 인 경우 .dll의 확장명은 지정하지 않습니다.

(2) Src

어셈블리 파일 위치를 지정합니다.

6. PreviousPageType

(1) TypeName

포스트백이 일어나는 클래스 이름입니다.

(2) VirtualPath

포스트백을 전달받을 페이지 위치를 지정합니다.

7. MasterType

(1) TypeName

연결될 마스터페이지의 클래스 이름을 지정합니다.

(2) VirtualPath

연결할 해당 마스터페이지의 위치를 지정합니다.

10. OutputCache

(1) CacheProfile

web.config 에서 캐시관련 정책을 설정하고 해당 프로필의 이름을 이 속성에 설정하면 web.config에서 프로젝트 웹사이트 전체캐시관련 설정을 제어할 수 있게 됩니다.

(2) Duration

캐시 지속시간을 초단위로 설정합니다.

(3) NoStore

페이지에 no-store 헤더 전송 여부를 설정합니다.

(4) SqlDependency

SQL 서버 캐시 무효화 기능 사용여부를 설정합니다.

8. Reference

(1) VirtualPath

컴파일 대상인 페이지나 컨트롤의 위치를 설정합니다.

'Programming > .NET' 카테고리의 다른 글

[ASP.NET] 폴더 구조  (1) 2013.12.12
[ASP.NET] Label  (0) 2013.12.11
[ASP.NET] 빌드공급자  (0) 2013.12.10
[ASP.NET] 페이지 구조  (0) 2013.12.09
[ASP.NET] 지시문  (0) 2013.12.07
[ASP.NET] 포스트백(PostBack)  (0) 2013.12.05
0 0