서버 컨트롤 인라인 템플릿 구문
템플릿을 지원하는 ASP.NET 서버 컨트롤 내에 포함되는 내용을 지정하고, 이러한 내용의 정렬 방식과 스타일을 지정합니다.
<templatename>
Server control, data-binding syntax, other valid markup
</templatename>
태그
- templatename
ASP.NET 서버 컨트롤 템플릿의 이름입니다.
설명
템플릿은 ASP.NET 서버 컨트롤에 나타나는 내용의 구조와 스타일을 지정하는 데 사용할 수 있습니다. 인라인 템플릿 구문을 사용하면 프로그래밍 방식이 아니라 간단한 선언적 구문을 통해 컨트롤 내용의 배열 및 스타일을 디자인할 수 있으므로 템플릿 작업을 수행할 때 매우 유용합니다.
대부분의 ASP.NET 웹 서버 컨트롤은 템플릿을 지원합니다. 예를 들어 Repeater, DataList, GridView, FormView, MultiView, LoginView 및 Menu 컨트롤은 모두 WebPartZone 및 CatalogZone을 비롯한 웹 파트 영역 컨트롤과 마찬가지로 템플릿을 지원합니다. 컨트롤에 특별히 정의된 템플릿만 해당 컨트롤에 대해 실제로 선언될 수 있습니다.
템플릿 항목은 해당 항목을 지원하는 서버 컨트롤의 자식 요소로 선언해야 합니다. 서버 컨트롤은 여러 템플릿 항목을 포함할 수 있으며 이때 각 템플릿은 컨트롤의 여러 내용에 대한 특징을 지정하는 데 사용됩니다. 예를 들어 Repeater 컨트롤은 머리글 구역, 본문 또는 항목 구역, 바닥글 구역에 포함된 내용의 모양과 레이아웃을 지정하는 템플릿을 지원하고, 교대로 반복되는 항목과 항목 구분 기호의 스타일을 처리하는 특수 템플릿도 지원합니다. 자세한 내용은 이 항목의 코드 예제를 참조하십시오.
템플릿에서 내용이 나타나는 방식을 지정하려면 템플릿 태그 내에 추가 요소를 선언합니다. 추가 태그는 HTML 태그, ASP.NET 컨트롤, 서버측 인라인 식 또는 코드 블록으로 구성될 수 있습니다. 인라인 템플릿을 사용하는 방법에 대한 자세한 내용은 ASP.NET 웹 서버 컨트롤 템플릿을 참조하십시오.
사용자 지정 서버 컨트롤을 개발할 때 자체 템플릿을 정의할 수 있습니다. 인라인 스타일 템플릿을 정의하고 사용하는 컨트롤을 개발하는 방법에 대한 자세한 내용은 방법: 템플릿 기반 ASP.NET 사용자 정의 컨트롤 만들기를 참조하십시오.
예제
다음 코드 예제에서는 Repeater 웹 서버 컨트롤에서 HeaderTemplate, AlternatingItemTemplate, ItemTemplate 및 FooterTemplate 템플릿을 선언하는 방법을 보여 줍니다. 이러한 각 템플릿은 Repeater 클래스의 속성에 연결됩니다.
<%@ Page Language="C#" %>
<html>
<head>
<script language="C#" runat="server">
void Page_Load(Object Sender, EventArgs e) {
if (!IsPostBack) {
ArrayList values = new ArrayList();
values.Add("Apple");
values.Add("Orange");
values.Add("Pear");
values.Add("Banana");
values.Add("Grape");
Repeater1.DataSource = values;
Repeater1.DataBind();
}
}
</script>
</head>
<body>
<h3><font face="Verdana">Repeater Example</font></h3>
<form runat=server>
<b>Repeater1:</b>
<p>
<asp:Repeater id=Repeater1 runat="server">
<HeaderTemplate>
<table border=1>
</HeaderTemplate>
<AlternatingItemTemplate>
<tr>
<td><b> <%# Container.DataItem %> </b> </td>
</tr>
</AlternatingItemTemplate>
<ItemTemplate>
<tr>
<td> <%# Container.DataItem %> </td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
<p>
</form>
</body>
</html>
<%@ Page Language="VB" %>
<html>
<head>
<script language="VB" runat="server">
Sub Page_Load(Sender As Object, e As EventArgs)
If Not IsPostBack Then
Dim values As New ArrayList()
values.Add("Apple")
values.Add("Orange")
values.Add("Pear")
values.Add("Banana")
values.Add("Grape")
Repeater1.DataSource = values
Repeater1.DataBind()
End If
End Sub
</script>
</head>
<body>
<h3><font face="Verdana">Repeater Example</font></h3>
<form runat=server>
<b>Repeater1:</b>
<p>
<asp:Repeater id=Repeater1 runat="server">
<HeaderTemplate>
<table border=1>
</HeaderTemplate>
<AlternatingItemTemplate>
<tr>
<td><b> <%# Container.DataItem %> </b> </td>
</tr>
</AlternatingItemTemplate>
<ItemTemplate>
<tr>
<td> <%# Container.DataItem %> </td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
<p>
</form>
</body>
</html>
참고 항목
작업
방법: 템플릿 기반 ASP.NET 사용자 정의 컨트롤 만들기