@ Implements
[このドキュメントはプレビューのみを目的としており、以降のリリースで変更される可能性があります。プレースホルダーとして空白のトピックが含まれています。]
現在の ASP.NET アプリケーション ファイル (Web ページ、ユーザー コントロール、マスター ページ) が、指定された .NET Framework インターフェイスを実装することを示します。
<%@ Implements interface="ValidInterfaceName" %>
属性
- interface
ページまたはユーザー コントロールに実装するインターフェイス。
解説
Web フォーム ページにインターフェイスを実装する場合は、コード宣言ブロックの <script> 要素の開始タグと終了タグの間に、そのインターフェイスのイベント、メソッド、およびプロパティを作成できます。 このディレクティブを使って、分離コード ファイルにインターフェイスを実装することはできません。
使用例
IWebPart インターフェイスの 6 つのプロパティにアクセスするための @ Implements ディレクティブが含まれるユーザー コントロールを次のコード例に示します。 ユーザー コントロールでこれらのプロパティを実装することにより、ユーザー コントロールを WebPartZone コントロール内に配置した場合に、ユーザー コントロールに WebPart コントロールのプロパティと外観を設定できるようにします。 コード例の最初の部分はユーザー コントロールで、このこのコードをファイルに配置してファイルを CalendarUserControl.ascx という名前にします。
コード例の 2 番目の部分は、ユーザー コントロールをホストするページです。 ページでは、@ Register ディレクティブを使用して、ページで使用するユーザー コントロールが登録される点に注意してください。 さらに、ユーザー コントロールがページの本文で宣言される場合、Title および Description などのいくつかの IWebPart プロパティに宣言構文の値が割り当てられることにも注意してください。 Web フォーム ページにユーザー コントロールを配置する方法の詳細については、「@ Register」、「カスタム サーバー コントロール構文」、および「How to: Include a User Control in an ASP.NET Web Page」を参照してください。 Web パーツ ページの詳細については、「ASP.NET Web Parts Pages」を参照してください。
<!-- 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>
参照
処理手順
How to: Include a User Control in an ASP.NET Web Page
Reference
概念
ASP.NET Web Page Syntax Overview