@ Implements
Aggiornamento: novembre 2007
Indica che il file di applicazione ASP.NET corrente (pagina Web, controllo utente o pagina master) implementa l'interfaccia .NET Framework specificata.
<%@ Implements interface="ValidInterfaceName" %>
Attributi
- interface
Interfaccia da implementare nella pagina o nel controllo utente.
Note
Quando si implementa un'interfaccia in una pagina Web Form, è possibile creare i relativi eventi, metodi e proprietà tra i tag di apertura e chiusura di un elemento <script> in un blocco di dichiarazione del codice. Non è possibile utilizzare questa direttiva per implementare un'interfaccia in un file code-behind.
Esempio
Nell'esempio di codice riportato di seguito viene illustrato un controllo utente che include una direttiva @ Implements per l'accesso alle sei proprietà dell'interfaccia IWebPart. Se nel controllo utente si implementano queste proprietà, quando viene inserito in un controllo WebPartZone, il controllo utente avrà le proprietà e l'aspetto di un controllo WebPart. La prima parte dell'esempio di codice è un controllo utente. Inserire il codice in un file e denominarlo CalendarUserControl.ascx.
La seconda parte dell'esempio di codice è una pagina che contiene il controllo utente. Si noti che la pagina utilizza una direttiva @ Register per registrare il controllo utente per l'utilizzo nella pagina. Si osservi inoltre che, quando il controllo utente viene dichiarato nel corpo della pagina, ad alcune proprietà IWebPart, quali Title e Description, vengono assegnati valori nella sintassi dichiarativa. Per ulteriori informazioni su come includere un controllo utente in una pagina Web Form, vedere @ Register, Sintassi di controlli server personalizzati e Procedura: includere un controllo utente in una pagina Web ASP.NET. Per informazioni sulle pagine Web part, vedere Controlli Web part 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>
Vedere anche
Attività
Procedura: includere un controllo utente in una pagina Web ASP.NET
Concetti
Cenni preliminari sulla sintassi delle pagine Web ASP.NET
Modello di codice di pagine Web ASP.NET