ASP.NET 코드 숨김 모델 개요

이 문서에서는 ASP.NET 인라인 코드 및 코드 숨김 모델에 대한 간략한 개요를 제공합니다.

원래 제품 버전: ASP.NET
원래 KB 번호: 303247

요약

이 문서에서는 Microsoft .NET Framework 클래스 라이브러리 네임스페이스 를 참조합니다System.Web.UI.

ASP.NET 페이지를 작성하는 두 가지 메서드를 지원합니다.

  • 인라인 코드
  • 코드 숨김

In-Line 코드

인라인 코드는 ASP.NET 페이지에 직접 포함된 코드입니다. 다음 코드는 인라인 코드를 포함하는 샘플 ASP.NET 페이지를 나타냅니다.

Myinlinecode.aspx

<%@ Language=C# %>
<HTML>
    <script runat="server" language="C#">
        void MyButton_OnClick(Object sender, EventArgs e)
        {
            MyLabel.Text = MyTextbox.Text.ToString();
        }
    </script>
    <body>
        <form id="MyForm" runat="server">
            <asp:textbox id="MyTextbox" text="Hello World" runat="server"></asp:textbox>
            <asp:button id="MyButton" text="Echo Input" OnClick="MyButton_OnClick" runat="server"></asp:button>
            <asp:label id="MyLabel" runat="server"></asp:label>
        </form>
    </body>
</HTML>

코드 숨김

코드 숨김은 별도의 클래스 파일에 포함된 ASP.NET 페이지의 코드를 나타냅니다. 이렇게 하면 프레젠테이션 논리에서 HTML을 클린 분리할 수 있습니다. 다음 샘플에서는 ASP.NET 코드 숨김 페이지를 보여 줍니다.

  • MyCodebehind.aspx

    <%@ Language="C#" Inherits="MyStuff.MyClass" %>
    <HTML>
        <body>
            <form id="MyForm" runat="server">
                <asp:textbox id="MyTextBox" text="Hello World" runat="server"></asp:textbox>
                <asp:button id="MyButton" text="Echo Input" Onclick="MyButton_Click" runat="server"></asp:button>
                <asp:label id="MyLabel" runat="server" />
            </form>
        </body>
    </HTML>
    
  • Mycodebehind.cs

    using System;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    
    namespace MyStuff
    {
        public class MyClass : Page
        {
            protected System.Web.UI.WebControls.Label MyLabel;
            protected System.Web.UI.WebControls.Button MyButton;
            protected System.Web.UI.WebControls.TextBox MyTextBox;
    
            public void MyButton_Click(Object sender, EventArgs e)
            {
                MyLabel.Text = MyTextBox.Text.ToString();
            }
        }
    }
    

이전 샘플에서는 다음 구문을 사용하여 Mycodebehind.cs 컴파일할 수 있습니다.

csc.exe /out:mycodebehind.dll /t:library mycodebehind.cs

다음 코드를 사용하면 코드 숨김 페이지가 Page 클래스에서 상속됩니다. Page 클래스는 에 있습니다 System.Web.UI namespace.

public class MyClass : Page

클래스에서 Page 상속하면 코드 숨김 페이지에서 및 Response같은 Request ASP.NET 내장 개체에 액세스할 수 있습니다. 또한 클래스에서 Page 상속하면 ASP.NET 페이지 내의 컨트롤에 대한 이벤트를 처리하기 위한 프레임워크가 제공됩니다.

앞의 샘플에서 코드 숨김 페이지는 ASP.NET 실행하기 전에 컴파일됩니다. 또는 다음과 같이 태그를 사용하여 코드 숨김 클래스를 SRC 참조할 수 있습니다.

<%@ Language="C#" Inherits="MyStuff.MyClass" src="MyCodebehind.cs" %>

이 경우 ASP.NET 코드 숨김 페이지를 즉시 컴파일합니다. 이 컴파일 단계는 코드 숨김 파일이 업데이트될 때만 발생합니다(타임스탬프 변경을 통해 검색됨).

Visual Studio .NET의 코드 숨김 지원

Visual Studio .NET을 사용하여 ASP.NET Web Forms 만드는 경우 코드 숨김 페이지가 기본 방법입니다. 또한 Visual Studio .NET은 솔루션을 빌드할 때 자동으로 사전 컴파일을 수행합니다.

참고

Visual Studio .NET에서 만든 코드 숨김 페이지에는 Visual Studio .NET에서 사용하는 특수 page 특성 Code-behind이 포함됩니다.