Condividi tramite


TemplateInstance Enumerazione

Definizione

Specifica il numero di volte che è possibile creare un'istanza di un modello.

public enum class TemplateInstance
public enum TemplateInstance
type TemplateInstance = 
Public Enum TemplateInstance
Ereditarietà
TemplateInstance

Campi

Multiple 0

Modello di cui è possibile creare più istanze.

Single 1

Modello di cui è possibile creare una sola istanza.

Esempio

Nell'esempio di codice seguente viene illustrato come usare l'enumerazione TemplateInstance e la TemplateInstanceAttribute classe . Un controllo personalizzato LoginView , denominato MyLoginView, esegue l'override della AnonymousTemplate proprietà e usa la TemplateInstanceAttribute classe per specificare che viene creata una sola istanza della AnonymousTemplate proprietà.

using System;
using System.Data;
using System.ComponentModel;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace Samples.AspNet.CS.Controls
{
    public class MyLoginView : LoginView
    {
        private ITemplate _anonymoustemplate;

        [Browsable(false),
        DefaultValue(null),
        PersistenceMode(PersistenceMode.InnerProperty),
        TemplateContainer(typeof(LoginView)),
        TemplateInstance(TemplateInstance.Single)
        ]
        public override ITemplate AnonymousTemplate
        {
            get
            {
                return _anonymoustemplate;
            }
            set
            {
                _anonymoustemplate = value;
            }
        }
    }
}
Imports System.Data
Imports System.ComponentModel
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls

Namespace Samples.AspNet.VB.Controls

    Public Class MyLoginView
        Inherits LoginView

        Private _anonymoustemplate As ITemplate

        <Browsable(False), DefaultValue(""), PersistenceMode(PersistenceMode.InnerProperty), TemplateContainer(GetType(LoginView)), TemplateInstance(TemplateInstance.Single)> _
        Public Overrides Property AnonymousTemplate() As System.Web.UI.ITemplate
            Get
                Return _anonymoustemplate
            End Get
            Set(ByVal value As System.Web.UI.ITemplate)
                _anonymoustemplate = value
            End Set
        End Property

    End Class

End Namespace

L'esempio di codice seguente è un file ASPX che usa il MyLoginView controllo e illustra come accedere a un Label controllo all'interno della AnonymousTemplate proprietà .

<%@ Page Language="C#" %>
<%@ Register TagPrefix="AspNetSamples" Namespace="Samples.AspNet.CS.Controls" Assembly="Samples.AspNet.CS.Controls" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
    
  protected void Page_Load(object sender, EventArgs e)
  {
    this.DataBind();
    this.LoginViewLabel1.Text = "LoginView Anonymous Template Label Set Dynamically.";    
  }
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>TemplateInstance Example</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
      <AspNetSamples:MyLoginView id="MyLoginView1" runat="server">
        <AnonymousTemplate>
          <asp:Label ID="LoginViewLabel1" runat="server" Text="Test"/>
        </AnonymousTemplate>
      </AspNetSamples:MyLoginView>
    </div>
    </form>
</body>
</html>
<%@ Page Language="VB" %>
<%@ Register TagPrefix="AspNetSamples" Namespace="Samples.AspNet.VB.Controls" Assembly="Samples.AspNet.VB.Controls" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

  Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
    
    Me.DataBind()
    Me.LoginViewLabel1.Text = "LoginView Anonymous Template Label Set Dynamically."

  End Sub
  
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>TemplateInstance Example</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
      <AspNetSamples:MyLoginView id="MyLoginView1" runat="server">
        <AnonymousTemplate>
          <asp:Label ID="LoginViewLabel1" runat="server" Text="Test"/>
        </AnonymousTemplate>
      </AspNetSamples:MyLoginView>
    </div>
    </form>
</body>
</html>

Commenti

L'enumerazione TemplateInstance specifica i valori che indicano il numero di volte in cui è possibile creare un'istanza di un modello. La TemplateInstanceAttribute classe usa i valori dell'enumerazione TemplateInstanceAttribute . In particolare, i Single campi e Multiple specificano rispettivamente singole e più istanze di un modello. Una singola istanza di un modello consente di fare riferimento ai controlli contenuti nel modello.

Esempi di controlli che usano il valore Single nei metadati della proprietà includono la proprietà del controllo, la ZoneTemplate proprietà del EditorZone controllo e la ZoneTemplate proprietà dell'oggetto WebPartZone.CatalogZoneZoneTemplate

Si applica a

Vedi anche