728x90
Html페이지에서 서버사이드 코드나 페이지 지시자, 서버사이드 코드 작성을 할 때는 <% %>를 이용해서 할 수 있으며 여러방법을 이용하여 Html페이지에서 서버사이드 코드를 제어할 수 있습니다.
또한 실제 Html페이지에서 태그 및 텍스트로 보여지지 않으며 서버사이드 코드로 실행됩니다
<% %>
서버사이드 코드(문법)을 실행할 수 있게 하지만 때로는 스파게티 코드의 원인이 되어 개발자를 번거롭게 하기도 합니다
C#
public string name = "Tailer";
Html
<% if (name == "Mike") { %>
<span>Mike</span>
<% } else { %>
<span>Tailer</span>
<% } %>
결과
<span>Tailer</span>
<%= %>
서버사이드 코드의 메소드, 변수, 인스턴스 변수와 같은, 문법이 아닌 결과값이 나오는 항목에 대해서 쓸 수 있습니다
1. 문법을 혼용한 적용법
C#
public List<string> food = new List<string> { "Sandwich", "Apple", "Steak", "Cheese", "Coke" };
Html
<% for (int i = 0; i < food.Count; i++) { %>
<span><%= food[i] %></span>
<% } %>
결과
<span>Apple</span>
<span>Steak</span>
<span>Cheese</span>
<span>Coke</span>
2. 변수 단독으로 사용
C#
public List<string> food = new List<string> { "Sandwich", "Apple", "Steak", "Cheese", "Coke" };
Html
<span><%= food[0] %></span>
<span><%= name %></span>
결과
<span>Sandwich</span>
<span>Tailer</span>
3. 함수로 사용
C#
public string GetDefaultValue()
{
return "Default";
}
public string GetDefaultValue(string name)
{
return "My Name is " + name;
}
Html
<span><%= GetDefaultValue() %></span>
<span><%= GetDefaultValue("Denis") %></span>
결과
<span>Default</span>
<span>My Name is Denis</span>
<%@ %>
페이지 지시자로 사용되며 Html페이지에서 네임스페이스, 페이지 내부의 지시문에 사용됩니다
Asp.net에서의 마스터페이지 설정
<%@ Page Title="" Language="C#" MasterPageFile="~/Master/MasterPage.master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Default" %>
Asp.net에서의 유저컨트롤 추가
<%@ Register Src="~/Control/UserControl.ascx" TagName="UserCtrl" TagPrefix="uc" %>
Jsp에서의 페이지 지시문 설정
<%@ contentType="text/html; charset="euc-kr" %>
<%@ page import="java.util.Math, java.net.URL" %>
<%# %>
Asp.net에서 사용되는 기호로 서버컨트롤에 바인딩 된 데이터의 정보를 가져오기 위해 사용됩니다.
C#
DataTable dataTable = new DataTable();
dataTable.Columns.Add("name", typeof(string));
dataTable.Columns.Add("year", typeof(int));
dataTable.Rows.Add(new object[] { "이철히", 23 });
dataTable.Rows.Add(new object[] { "김옥자", 20 });
Data1.DataSource = dataTable;
Data1.DataBind();
Html
<asp:Repeater ID="Data1" runat="server">
<ItemTemplate>
<span><%# Container.ItemIndex %></span>
<span><%# DataBinder.Eval(Container.DataItem, "name").ToString() %></span>
<span><%# DataBinder.Eval(Container.DataItem, "year").ToString() %></span>
<br/>
</ItemTemplate>
</asp:Repeater>
결과
<span>0</span>
<span>이철히</span>
<span>23</span>
<br/>
<span>1</span>
<span>김옥자</span>
<span>20</span>
<%-- --%>
서버사이드의 주석을 하기위한 방법으로 Html의 주석처리 방식인<!-- -->과 다른점은 <%-- --%>로 주석처리를 하면 개발자모드에서 브라우저 Html코드를 봤을 때 주석이 보이지 않습니다
Html
<%-- 서버사이드 주석처리 --%>
서버사이드 주석처리
<!-- Html 주석처리 -->
Html 주석처리
결과
728x90
댓글