.NET Framework 인라인 식 ASP.NET
이 문서에는 다음 ASP.NET 인라인 식에 대한 소개가 포함되어 있습니다.
- <% ... %>
- <%= ... %>
- <%@ ... %>
- <%# ... %>
- <%$ ... %>
- <%-- ... --%>
원래 제품 버전: .NET Framework
원래 KB 번호: 976112
<% ... %> 포함된 코드 블록
포함된 코드 블록은 클래식 ASP와의 이전 버전과의 호환성을 유지하는 데 사용됩니다. 블록의 코드는 페이지 렌더링 단계에서 프로그래밍 문을 실행하고 현재 페이지 클래스에서 함수를 호출할 수 있습니다.
다음 예제에서는 루프의 결과를 표시하는 포함된 코드 블록에 샘플 Microsoft Visual Basic .NET 코드가 있는 ASP.NET 페이지를 보여 줍니다.
<%@ Page Language="VB" %>
<html>
<body>
<form id="form1" runat="server">
<% For i As Integer = 16 To 24 Step 2%>
<div style="font-size: <% Response.Write(i)%>">
Hello World<br />
</div>
<% Next%>
</form>
</body>
</html>
포함된 코드 블록은 항상 HTML(HyperText Markup Language) 원본과 혼합되므로 개발자가 읽고 유지 관리하기가 어렵습니다.
ASP.NET 웹 페이지의 포함된 코드 블록에 대한 자세한 내용은 ASP.NET Web Forms Pages의 포함된 코드 블록을 참조하세요.
<%= ... %> displaying expression
<%= ... %>
표시 식은 문만 Response.Write(...)
포함하는 포함된 코드 블록과 동일합니다. 단일 문자열, int 변수 또는 상수와 같은 정보를 표시하는 가장 간단한 방법입니다.
예를 들어 다음 샘플 코드는 현재 시간을 표시합니다.
<%@ Page Language="VB" %>
<html>
<body>
<form id="form1" runat="server">
<%=DateTime.Now.ToString() %>
</form>
</body>
</html>
표시 식은 서버 컨트롤의 특성에서 사용할 수 없습니다. .NET Framework 특성에 대한 값으로 콘텐츠를 표시하는 대신 전체 식을 직접 컴파일하기 때문입니다.
ASP.NET 정보를 표시하는 방법에 대한 자세한 내용은 ASP.NET 표시를 참조하세요.
<%@ ... %> 지시문 식
지시문 식은 웹 양식(ASP.NET .aspx) 페이지 및 사용자 컨트롤(.ascx) 파일을 처리할 때 페이지 및 사용자 제어 컴파일러에서 사용하는 설정을 지정하는 구문입니다.
ASP.NET 페이지 프레임워크는 다음 지시문을 지원합니다.
지시문 | 설명 |
---|---|
@ Page |
ASP.NET 페이지 파서 및 컴파일러에서 사용하는 페이지별 특성을 정의합니다. .aspx 파일에만 포함할 수 있습니다. 이 지시문 이름은 ASP.NET 웹 양식 페이지에서만 사용할 수 있습니다. |
@ Control |
ASP.NET 페이지 파서 및 컴파일러에서 사용하는 컨트롤별 특성을 정의합니다. .ascx 파일(사용자 컨트롤)에만 포함할 수 있습니다. 지시문 이름은 사용자 제어 파일에서만 사용할 수 있습니다. |
@ Import |
네임스페이스를 페이지 또는 사용자 컨트롤로 명시적으로 가져옵니다. |
@ Implements |
페이지 또는 사용자 컨트롤이 지정된 .NET Framework 인터페이스를 구현한다는 것을 선언적으로 나타냅니다. |
@ Register |
별칭을 네임스페이스와 클래스 이름과 연결합니다. 사용자 컨트롤 및 사용자 지정 서버 컨트롤이 요청된 페이지 또는 사용자 컨트롤에 포함될 때 렌더링될 수 있습니다. |
@ Assembly |
컴파일하는 동안 어셈블리를 현재 페이지에 연결합니다. 그러면 모든 어셈블리의 클래스 및 인터페이스를 페이지에서 사용할 수 있습니다. |
@ Master |
ASP.NET master 페이지를 식별합니다. |
@ WebHandler |
ASP.NET IHttpHandler 페이지를 식별합니다. |
@ PreviousPageType |
PreviousPage 속성을 통해 액세스한 이전 페이지에 대해 강력한 입력을 얻을 수 있는 방법을 제공합니다. |
@ MasterType |
클래스 이름을 ASP.NET 페이지의 Master 속성에 할당합니다. ASP.NET master 페이지에 대한 강력한 형식의 참조를 만드는 방법을 제공합니다. |
@ OutputCache |
페이지 또는 사용자 컨트롤의 출력 캐싱 정책을 선언적으로 제어합니다. |
@ Reference |
페이지 또는 사용자 컨트롤을 선언적으로 현재 페이지 또는 사용자 컨트롤에 연결합니다. |
지시문 구문에 대한 자세한 내용은 텍스트 템플릿 지시문 구문을 참조하세요.
<%# ... %> 데이터 바인딩 식
데이터 바인딩 식은 이 서버 컨트롤의 DataBind 메서드가 페이지에서 호출되면 서버 컨트롤 속성과 데이터 원본 간에 바인딩을 만듭니다.
다음 예제에서는 데이터 바인딩 식을 사용하여 함수의 문자열을 레이블의 Text 속성에 바인딩하는 방법을 보여줍니다.
<%@ Page Language="VB" %>
<script runat="server">
Protected Function SayHello() As String
Return "Hello World"
End Function
Protected Sub Page_PreRender(ByVal sender As Object, ByVal e As System.EventArgs)
lblHello.DataBind()
End Sub
</script>
<html>
<body>
<form id="form1" runat="server">
<asp:Label ID="lblHello" runat="server" Text="<%# SayHello%>"></asp:Label>
</form>
</body>
</html>
데이터 바인딩 식 구문에 대한 자세한 내용은 데이터 바인딩 식 구문을 참조하세요.
<%$ ... %> 식 작성기
식 작성기는 애플리케이션의 구성 또는 리소스 파일에 포함된 정보를 기반으로 컨트롤 속성의 값을 설정하는 데 사용됩니다. 다음 예제는 식 작성기의 기본 구문입니다.
<%$ Expression Prefix: Expression Value %>
달러 기호($)는 다음 식이 식 작성기임을 ASP.NET 나타냅니다. 식 접두사는 , ConnectionStrings
또는 Resources
와 같은 AppSettings
식의 종류를 정의합니다. 또한 고유한 식 작성기 만들기 및 정의할 수 있습니다. 콜론(:) 뒤에 오는 식 값은 ASP.NET 실제로 특정 속성의 값으로 사용하는 값입니다.
다음 데모에서는 식 작성기를 사용하여 Web.config 파일의 노드에서 AppSettings
웹 사이트의 저작권을 가져오는 방법과 저작권 정보를 Literal의 Text 속성 값으로 설정하는 방법을 보여 줍니다.
AppSettings
Web.config 파일의 노드:
<appSettings>
<add key="copyright" value="(c) Copyright 2009 WebSiteName.com"/>
</appSettings>
ASP.NET 웹 양식 페이지의 식 작성기:
<div id="footer">
<asp:Literal ID="Literal1" runat="server" Text="<%$ AppSettings: copyright %>"></asp:Literal>
</div>
ASP.NET 식에 대한 자세한 내용은 ASP.NET 식 개요를 참조하세요.
<%-- ... -- %> 서버 쪽 주석 블록
서버 쪽 주석 블록을 사용하면 개발자가 ASP.NET 웹 양식 페이지의 HTML 원본 위치에 코드 주석을 포함할 수 있습니다(코드 블록 내 <script>
제외). 서버 쪽 주석 블록의 여는 태그와 닫는 태그 사이의 모든 콘텐츠는 서버에서 처리되거나 결과 페이지에서 렌더링되지 않습니다.
다음 코드 예제에서는 ASP.NET 페이지에서 서버 쪽 주석 블록을 사용하는 방법을 보여 줍니다.
<%@ Page Language="VB" %>
<script runat="server">
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
Dim strName As String
strName = Session("userName")
lblUserName.Text = strName
End Sub
</script>
<html>
<body>
<form id="form1" runat="server">
<%-- Label for UserName --%>
<asp:Label ID="lblUserName" runat="server" Text=""></asp:Label>
</form>
</body>
</html>
서버 쪽 주석에 대한 자세한 내용은 서버 쪽 주석을 참조하세요.
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기