@ Implements
현재 ASP.NET 응용 프로그램 파일(웹 페이지, 사용자 정의 컨트롤 또는 마스터 페이지)에서 지정된 .NET Framework 인터페이스를 구현함을 나타냅니다.
<%@ Implements interface="ValidInterfaceName" %>
특성
- interface
페이지나 사용자 정의 컨트롤에 구현될 인터페이스입니다.
설명
Web Forms 페이지에서 인터페이스를 구현하는 경우에는 코드 선언 블록에서 <script> 요소의 여는 태그와 닫는 태그 사이에 이벤트, 메서드 및 속성을 만들 수 있습니다. 코드 숨김 파일에서는 이 지시문을 사용하여 인터페이스를 구현할 수 없습니다.
예제
다음 코드 예제에서는 IWebPart 인터페이스의 여섯 가지 속성에 액세스하기 위해 @ Implements 지시문이 포함된 사용자 정의 컨트롤을 보여 줍니다. 사용자 정의 컨트롤에서 이러한 속성을 구현하면 사용자 정의 컨트롤을 WebPartZone 컨트롤에 놓을 때 WebPart 컨트롤의 속성과 모양을 사용자 정의 컨트롤에 적용할 수 있습니다. 코드 예제의 첫 번째 부분은 사용자 정의 컨트롤입니다. 이 코드를 파일에 추가하고 파일 이름을 CalendarUserControl.ascx로 지정합니다.
코드 예제의 두 번째 부분은 사용자 정의 컨트롤을 호스팅하는 페이지입니다. 이 페이지에서는 @ Register 지시문을 사용하여 페이지에 사용할 사용자 정의 컨트롤을 등록합니다. 또한 페이지 본문에서 사용자 정의 컨트롤을 선언하는 경우에는 선언 구문을 통해 Title과 Description 같은 일부 IWebPart 속성에 값이 할당됩니다. Web Forms 페이지에 사용자 정의 컨트롤을 포함하는 방법에 대한 자세한 내용은 @ Register, 사용자 지정 서버 컨트롤 구문 및 방법: ASP.NET 웹 페이지에 사용자 정의 컨트롤 포함을 참조하십시오. 웹 파트 페이지에 대한 내용은 ASP.NET 웹 파트 컨트롤를 참조하십시오.
<!-- A user control that implements an interface. -->
<%@ Control language="C#" ClassName="CalendarUserControl" %>
<%@ implements
interface="System.Web.UI.WebControls.WebParts.IWebPart" %>
<script runat="server">
private string m_Description;
private string m_Title;
private string m_TitleIconImageUrl;
private string m_TitleUrl;
private string m_CatalogIconImageUrl;
[Personalizable]
public string Description
{
get
{
object objTitle = ViewState["Description"];
if (objTitle == null)
return String.Empty;
return (string)objTitle;
}
set
{
ViewState["Description"] = Server.HtmlEncode(value);
}
}
[Personalizable]
public string Title
{
get
{
object objTitle = ViewState["Title"];
if (objTitle == null)
return String.Empty;
return (string)objTitle;
}
set
{
ViewState["Title"] = Server.HtmlEncode(value);
}
}
public string Subtitle
{
get
{
object objSubTitle = ViewState["Subtitle"];
if (objSubTitle == null)
return "Acme Corp";
return (string)objSubTitle;
}
}
[Personalizable]
public string TitleIconImageUrl
{
get
{
object objTitle = ViewState["TitleIconImageUrl"];
if (objTitle == null)
return String.Empty;
return (string)objTitle;
}
set
{
ViewState["TitleIconImageUrl"] = Server.HtmlEncode(value);
}
}
[Personalizable]
public string TitleUrl
{
get
{
object objTitle = ViewState["TitleUrl"];
if (objTitle == null)
return String.Empty;
return (string)objTitle;
}
set
{
ViewState["TitleUrl"] = Server.HtmlEncode(value);
}
}
[Personalizable]
public string CatalogIconImageUrl
{
get
{
object objTitle = ViewState["CatalogIconImageUrl"];
if (objTitle == null)
return String.Empty;
return (string)objTitle;
}
set
{
ViewState["CatalogIconImageUrl"] = Server.HtmlEncode(value);
}
}
</script>
<asp:calendar id="Calendar1" runat="server" />
<!-- A page that registers and hosts the user control. -->
<%@ Page language="C#" %>
<%@ register tagprefix="uc1"
tagname="CalControl"
src="~/CalendarUserControl.ascx" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>Calendar Page</title>
</head>
<body>
<form id="form1" runat="server">
<asp:webpartmanager id="manager1" runat="server" />
<asp:webpartzone id="WebPartZone1" runat="server">
<zonetemplate>
<uc1:CalControl id="CalControl1" runat="server"
title="Personal Calendar"
description="My personal calendar for work." />
</zonetemplate>
</asp:webpartzone>
</form>
</body>
</html>
<!-- A user control that implements an interface. -->
<%@ Control language="VB" ClassName="CalendarUserControl" %>
<%@ implements
interface="System.Web.UI.WebControls.WebParts.IWebPart" %>
<script runat="server">
Private m_Description As String
Private m_Title As String
Private m_TitleIconImageUrl As String
Private m_TitleUrl As String
Private m_CatalogIconImageUrl As String
<Personalizable()> _
Public Property Description() As String _
Implements IWebPart.Description
Get
Dim objTitle As Object = ViewState("Description")
If objTitle Is Nothing Then
Return String.Empty
End If
Return CStr(objTitle)
End Get
Set(ByVal value As String)
ViewState("Description") = Server.HtmlEncode(value)
End Set
End Property
<Personalizable()> _
Public Property Title() As String _
Implements IWebPart.Title
Get
Dim objTitle As Object = ViewState("Title")
If objTitle Is Nothing Then
Return String.Empty
End If
Return CStr(objTitle)
End Get
Set(ByVal value As String)
ViewState("Title") = Server.HtmlEncode(value)
End Set
End Property
ReadOnly Property Subtitle() As String _
Implements IWebPart.Subtitle
Get
Dim objSubTitle As Object = ViewState("Subtitle")
If objSubTitle Is Nothing Then
Return "Acme Corp"
End If
Return CStr(objSubTitle)
End Get
End Property
<Personalizable()> _
Public Property TitleIconImageUrl() As String _
Implements IWebPart.TitleIconImageUrl
Get
Dim objTitle As Object = ViewState("TitleIconImageUrl")
If objTitle Is Nothing Then
Return String.Empty
End If
Return CStr(objTitle)
End Get
Set(ByVal value As String)
ViewState("TitleIconImageUrl") = Server.HtmlEncode(value)
End Set
End Property
<Personalizable()> _
Public Property TitleUrl() As String _
Implements IWebPart.TitleUrl
Get
Dim objTitle As Object = ViewState("TitleUrl")
If objTitle Is Nothing Then
Return String.Empty
End If
Return CStr(objTitle)
End Get
Set(ByVal value As String)
ViewState("TitleUrl") = Server.HtmlEncode(value)
End Set
End Property
<Personalizable()> _
Public Property CatalogIconImageUrl() As String _
Implements IWebPart.CatalogIconImageUrl
Get
Dim objTitle As Object = ViewState("CatalogIconImageUrl")
If objTitle Is Nothing Then
Return String.Empty
End If
Return CStr(objTitle)
End Get
Set(ByVal value As String)
ViewState("CatalogIconImageUrl") = Server.HtmlEncode(value)
End Set
End Property
</script>
<asp:calendar id="Calendar1" runat="server" />
<!-- A page that registers and hosts the user control. -->
<%@ Page language="VB" %>
<%@ register tagprefix="uc1"
tagname="CalControl"
src="~/CalendarUserControl.ascx" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>Calendar Page</title>
</head>
<body>
<form id="form1" runat="server">
<asp:webpartmanager id="manager1" runat="server" />
<asp:webpartzone id="WebPartZone1" runat="server">
<zonetemplate>
<uc1:CalControl id="CalControl1" runat="server"
title="Personal Calendar"
description="My personal calendar for work." />
</zonetemplate>
</asp:webpartzone>
</form>
</body>
</html>
참고 항목
작업
방법: ASP.NET 웹 페이지에 사용자 정의 컨트롤 포함