Condividi tramite


@ Implements

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

Riferimenti

Sintassi della direttiva template di testo

Concetti

Cenni preliminari sulla sintassi delle pagine Web ASP.NET

Modello di codice di pagine Web ASP.NET

Altre risorse

Controlli Web part ASP.NET