@ Control

[이 설명서는 미리 보기 전용이며, 이후 릴리스에서 변경될 수 있습니다. 비어 있는 항목은 자리 표시자로 포함됩니다.]

ASP.NET 페이지 파서 및 컴파일러에 사용되는 사용자 정의 컨트롤(.ascx 파일) 관련 특성을 정의합니다. 이 지시문은 소스 코드가 .ascx 파일에 포함되어 있는 경우에만 사용할 수 있습니다. 사용자 정의 컨트롤에 대한 자세한 내용은 ASP.NET User Controls을 참조하십시오.

<%@ Control attribute="value" [attribute="value" ... ] %>

특성

  • AutoEventWireup
    컨트롤의 이벤트가 자동으로 연결되는지 여부를 나타냅니다. 이벤트 자동 연결이 활성화되면 true이고, 그렇지 않으면 false입니다. 기본값은 true입니다. 자세한 내용은 ASP.NET Web Server Control Event Model를 참조하십시오.

  • ClassName
    컨트롤이 요청될 때 동적으로 컴파일되는 컨트롤의 클래스 이름을 지정하는 문자열입니다. 이 값은 유효한 모든 클래스 이름일 수 있으며 클래스의 전체 네임스페이스, 즉 정규화된 클래스 이름을 포함할 수 있습니다. 이 특성에 값을 지정하지 않으면 컴파일된 컨트롤의 클래스 이름은 해당 컨트롤의 파일 이름을 기반으로 합니다.

    다른 페이지 또는 컨트롤은 @ Reference 지시문을 사용하여 컨트롤에 할당된 클래스 이름을 참조할 수 있습니다.

  • ClientIDMode
    컨트롤에 대해 ClientID 값을 사용할 알고리즘을 지정합니다. 페이지의 기본값은 AutoID입니다.

    컨트롤의 기본값은 Inherit입니다. 따라서, 사용자 정의에서 컨트롤에 대한 기본 알고리즘은 사용자 컨트롤의 ClientID 설정에 의해 결정됩니다. 다른 기본값은 @ Page 지시문 또는 Web.config 파일의 pages 요소의 페이지 수준에서 설정할 수 있습니다. 알고리즘에 대한 자세한 내용은 ClientIDMode를 참조하십시오.

  • CodeBehind
    컨트롤과 연결된 클래스를 포함하는 컴파일된 파일의 이름을 지정합니다. 이 특성은 런타임에는 사용되지 않습니다.

    참고

    이 특성은 코드 숨김 기능을 구현하며 이전 버전의 ASP.NET과의 호환성을 위해 포함됩니다.대신 ASP.NET 버전 2.0에서는 CodeFile 특성을 사용하여 소스 파일의 이름을 지정하고 Inherits 특성을 사용하여 클래스의 정규화된 이름을 지정합니다.

  • CodeFile
    컨트롤에 대해 참조된 코드 숨김 파일의 경로를 지정합니다. 이 특성은 Inherits 특성과 함께 사용되어 코드 숨김 소스 파일을 사용자 정의 컨트롤과 연결합니다. 이 특성은 컴파일된 컨트롤에만 유효합니다.

  • CodeFileBaseClass
    컨트롤의 기본 클래스 및 연결된 코드 숨김 클래스의 경로를 지정합니다. 이 특성은 선택적 요소이지만 사용될 경우에는 CodeFile 특성도 있어야 합니다. 사용자 정의 컨트롤에 선언된 컨트롤을 참조하기 위해 기본 클래스에서 공용 필드 및 연결된 이벤트(옵션)를 정의하는 공유 시나리오를 구현하려는 경우에 이 특성을 사용합니다. 이 특성을 사용하지 않고 기본 클래스에서 필드를 정의한 경우에는 ASP.NET 코드 생성 모델 때문에 컴파일할 때 사용자 정의 컨트롤에 선언된 컨트롤에 대해 새 멤버 정의가 별도의 partial 클래스 스텁에 생성되고 원하는 시나리오가 제대로 실행되지 않습니다. 그러나 CodeFileBaseClass 특성을 사용하여 기본 클래스를 사용자 정의 컨트롤과 연결하고 partial 클래스(클래스 이름은 Inherits 특성에 할당되고 소스 파일은 CodeFile 특성에 의해 참조됨)가 기본 클래스에서 상속되게 하면 코드 생성 후에 기본 클래스의 필드에서 사용자 정의 컨트롤의 컨트롤을 참조할 수 있습니다.

  • CompilationMode
    몇 가지 열거 옵션 중 하나를 지정하는 문자열을 사용하여 컨트롤을 컴파일할지 여부를 설정합니다. 기본값은 Always이므로 .aspx 컨트롤은 기본적으로 컴파일됩니다. 자세한 내용은 CompilationMode 열거형을 참조하십시오.

  • CompilerOptions
    컨트롤을 컴파일할 때 사용하는 컴파일러 옵션이 포함된 문자열입니다. C#과 Visual Basic에서 이 특성은 컴파일러 명령줄 스위치 시퀀스입니다. 컴파일러 옵션에 대한 자세한 내용은 C# 컴파일러 옵션 또는 Visual Basic 명령줄 컴파일러를 참조하십시오.

  • Debug
    디버그 기호를 사용하여 컨트롤을 컴파일해야 할지 여부를 나타냅니다. 디버그 기호를 사용하여 컨트롤을 컴파일해야 하는 경우 true이고, 그렇지 않은 경우 false입니다. 이 설정은 성능에 영향을 주므로 개발하는 동안에만 이 특성을 true로 설정해야 합니다.

  • Description
    컨트롤에 대한 텍스트 설명을 제공합니다. 이 값은 ASP.NET 파서에서 무시됩니다.

  • EnableTheming
    컨트롤에 테마가 사용되는지 여부를 나타냅니다. 테마가 사용되면 true이고, 그렇지 않으면 false입니다. 기본값은 true입니다.

  • EnableViewState
    뷰 상태가 컨트롤 요청 간에 유지되는지 여부를 나타냅니다. 뷰 상태가 유지되면 true이고, 그렇지 않으면 false입니다. 기본값은 true입니다.

  • Explicit
    Visual Basic Option Explicit 모드를 사용하여 컨트롤을 컴파일할지 여부를 결정합니다. true로 설정하면 Visual Basic의 명시적 컴파일 옵션이 사용되며 이 경우 Dim, Private, Public 또는 ReDim 문을 사용하여 모든 변수를 선언해야 합니다. 그렇지 않으면 false로 설정합니다. 기본값은 false입니다.

    참고

    이 특성은 Visual Basic 이외의 언어에서 무시됩니다.또한 이 옵션은 Machine.config 구성 파일에서 true로 설정됩니다.자세한 내용은 구성 파일ASP.NET Configuration Files을 참조하십시오.

  • Inherits
    컨트롤에 상속될 코드 숨김 클래스를 정의합니다. 이 클래스는 UserControl 클래스에서 파생된 모든 클래스일 수 있습니다. 코드 숨김 클래스의 소스 파일 경로를 포함하는 CodeFile 특성과 함께 사용됩니다. 코드 숨김 클래스에 대한 자세한 내용은 ASP.NET Web Page Code Model을 참조하십시오.

  • Language
    컨트롤 내의 모든 인라인 렌더링(<% %> 및 <%= %>) 및 코드 선언 블록을 컴파일하는 데 사용되는 언어를 지정합니다. 값은 Visual Basic, C# 또는 JScript를 포함하여 .NET Framework에서 지원되는 모든 언어를 나타낼 수 있지만, 각 컨트롤에 대해 언어를 하나만 사용하고 지정할 수 있습니다.

  • LinePragmas
    런타임에 소스 코드에서 줄 pragma를 생성할지 여부를 결정합니다. 이 옵션은 소스 파일에서 특정 위치를 표시하기 위해 디버깅 도구에 주로 사용되는 컴파일러 옵션입니다. 줄 pragmas를 생성해야 한다면 true이고, 그렇지 않으면 false입니다.

  • Src
    컨트롤에 링크된 코드를 포함하는 소스 파일의 경로를 지정합니다. 링크된 소스 파일에서 컨트롤에 대한 프로그래밍 논리를 클래스 또는 코드 선언 블록에 포함하도록 선택할 수 있습니다.

    Src 특성을 사용하여 빌드 공급자를 컨트롤에 링크할 수 있습니다. 자세한 내용은 BuildProvider 클래스를 참조하십시오. 또한 ASP.NET 2.0 이전 버전에서는 코드 숨김 파일을 컨트롤에 링크하는 대안으로 Src 특성을 사용했습니다. ASP.NET 버전 2.0에서는 코드 숨김 소스 파일을 컨트롤에 링크할 때 Inherits 특성을 사용하여 클래스를 지정하고 CodeFile 특성을 사용하여 클래스의 소스 파일 경로를 지정하는 것이 좋습니다.

  • Strict
    Visual Basic OptionStrict 모드를 사용하여 컨트롤을 컴파일할지 나타냅니다. Option Strict가 사용되면 true이고, 그렇지 않으면 false입니다. 기본값은 false입니다.

    참고

    이 특성은 Visual Basic 이외의 언어에서 무시됩니다.

  • TargetSchema
    컨트롤의 내용이 유효한지 검사하는 데 사용되는 스키마의 이름을 지정합니다. 이 특성은 설명적 용도로만 사용되고 실제 유효성 검사가 수행되지 않으므로 파서에서 무시됩니다.

  • WarningLevel
    컴파일러에서 경고를 오류로 처리하여 컨트롤의 컴파일 작업을 중단하는 컴파일러 경고 수준을 나타냅니다. 가능한 경고 수준은 0에서 4 사이입니다. 자세한 내용은 WarningLevel 속성을 참조하십시오.

설명

이 지시문은 사용자 정의 컨트롤에서만 사용할 수 있으며 사용자 정의 컨트롤은 확장명이 .ascx인 파일에 정의되어 있습니다. 각 .ascx 파일에는 @ Control 지시문이 하나만 포함될 수 있습니다. 또한 각 컨트롤에 대해 하나의 언어만 사용할 수 있으므로 @ Control 지시문마다 Language 특성을 하나만 정의할 수 있습니다.

참고

@ Control 지시문에는 웹 페이지의 .aspx 파일에 사용되는 @ Page 지시문과 마스터 페이지의 .master 파일에 사용되는 @ Master 지시문 등의 다른 지시문과 마찬가지로 전체 소스 파일에 적용되는 다양한 특성이 있습니다.

@ Control 지시문에 여러 특성을 정의하려면 각 특성/값 쌍을 단일 공백으로 구분합니다. 특정 특성의 경우에는 특성과 값을 연결하는 등호(=)의 앞/뒤에 공백을 포함하면 안 됩니다. 예제를 보려면 이 항목의 예제 단원을 참조하십시오.

예제

다음 코드 예제에서는 ASP.NET 페이지 컴파일러에서 Visual Basic을 인라인 코드 언어로 사용하고, EnableViewState 특성을 사용하여 HTTP 요청 간에 뷰 상태를 저장하지 않도록 지정합니다.

<%@ Control Language="VB" EnableViewState="false" %>

참고 항목

참조

텍스트 템플릿 지시문 구

@ Page

기타 리소스

ASP.NET 페이지 구문

ASP.NET User Controls