TemplateInstanceAttribute TemplateInstanceAttribute TemplateInstanceAttribute TemplateInstanceAttribute Class

Definition

Definiert ein Metadatenattribut, mit dem die Anzahl von zulässigen Instanzen einer Vorlage angegeben wird.Defines a metadata attribute that is used to specify the number of allowed instances of a template. Diese Klasse kann nicht vererbt werden.This class cannot be inherited.

public ref class TemplateInstanceAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Property)]
public sealed class TemplateInstanceAttribute : Attribute
type TemplateInstanceAttribute = class
    inherit Attribute
Public NotInheritable Class TemplateInstanceAttribute
Inherits Attribute
Vererbung
TemplateInstanceAttributeTemplateInstanceAttributeTemplateInstanceAttributeTemplateInstanceAttribute
Attribute

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie Sie mit der TemplateInstance Enumeration und die TemplateInstanceAttribute Klasse.The following code example demonstrates how to use the TemplateInstance enumeration and the TemplateInstanceAttribute class. Eine benutzerdefinierte LoginView Steuerelement mit dem Namen MyLoginViewA überschreibt die AnonymousTemplate -Eigenschaft und verwendet die TemplateInstanceAttribute Klasse, um anzugeben, dass nur eine Instanz der AnonymousTemplate Eigenschaft wird erstellt.A custom LoginView control named MyLoginViewA overrides the AnonymousTemplate property and uses the TemplateInstanceAttribute class to specify that only one instance of the AnonymousTemplate property is created.

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 MyLoginViewA : 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 Microsoft.VisualBasic
Imports System
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 MyLoginViewA
        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

Im folgenden Codebeispiel wird eine ASPX-Datei, verwendet der MyLoginViewA steuern und veranschaulicht den Zugriff auf Eigenschaften von der TemplateInstanceAttribute Klasse.The following code example is an ASPX file that uses the MyLoginViewA control and demonstrates how to access properties of the TemplateInstanceAttribute class.

<%@ Page Language="C#" %>
<%@ Import Namespace="System.Reflection" %>
<%@ 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">
   
  // <Snippet3> 
  protected void Page_Load(object sender, EventArgs e)
  {
        
    // Get the class type for which to access metadata.
    Type clsType = typeof(MyLoginViewA);
    // Get the PropertyInfo object for FirstTemplate.
    PropertyInfo pInfo = clsType.GetProperty("AnonymousTemplate");
    // See if the TemplateInstanceAttribute is defined for this property.
    bool isDef = Attribute.IsDefined(pInfo, typeof(TemplateInstanceAttribute));

    // Display the result if the attribute exists.
    if (isDef)
    {
      TemplateInstanceAttribute tia =
        (TemplateInstanceAttribute)Attribute.GetCustomAttribute(pInfo, typeof(TemplateInstanceAttribute));
      Response.Write("The <AnonymousTemplate> has the TemplateInstanceAttribute = " + tia.Instances.ToString() + ".<br />");
      if (tia.IsDefaultAttribute())
        Response.Write("The TemplateInstanceAttribute used is the same as the default instance.");
      else
        Response.Write("The TemplateInstanceAttribute used is not the same as the default instance.");
    }

  }
  // </Snippet3> 

</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:MyLoginViewA id="MyLoginViewA1" runat="server">
        <AnonymousTemplate>
          <asp:Label ID="LoginViewLabel1" runat="server" Text="LoginView Anonymous Template Text"/>
        </AnonymousTemplate>
      </AspNetSamples:MyLoginViewA>
    </div>
    </form>
</body>
</html>
<%@ Page Language="VB" %>
<%@ Import Namespace="System.Reflection" %>
<%@ 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">

  ' <Snippet3>
  Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
    
    ' Get the class type for which to access metadata.
    Dim clsType As Type = GetType(MyLoginViewA)
    ' Get the PropertyInfo object for FirstTemplate.
    Dim pInfo As PropertyInfo = clsType.GetProperty("AnonymousTemplate")
    ' See if the TemplateInstanceAttribute is defined for this property.
    Dim isDef As Boolean = Attribute.IsDefined(pInfo, GetType(TemplateContainerAttribute))
    
    ' Display the result if the attribute exists.
    If isDef Then
      Dim tia As TemplateInstanceAttribute = CType(Attribute.GetCustomAttribute(pInfo, GetType(TemplateInstanceAttribute)), TemplateInstanceAttribute)
      Response.Write("The <AnonymousTemplate> has the TemplateInstanceAttribute = " & tia.Instances.ToString() & ".<br />")
      If (tia.IsDefaultAttribute()) Then
        Response.Write("The TemplateInstanceAttribute used is the same as the default instance.")
      Else
        Response.Write("The TemplateInstanceAttribute used is not the same as the default instance.")
      End If

    End If

  End Sub
  ' </Snippet3>
  
</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:MyLoginViewA id="MyLoginViewA1" runat="server">
        <AnonymousTemplate>
          <asp:Label ID="LoginViewLabel1" runat="server" Text="LoginView Anonymous Template Text"/>
        </AnonymousTemplate>
      </AspNetSamples:MyLoginViewA>
    </div>
    </form>
</body>
</html>

Hinweise

Die TemplateInstanceAttribute Klasse können Sie eine Template-Eigenschaft als eine einzelne ermöglicht oder mehrere Instanziierungen markieren.The TemplateInstanceAttribute class allows you to mark a template property as one that allows single or multiple instantiations. Eine Vorlage, die nur eine einzelne Instanziierung gestattet haben die Steuerelemente, die darin auf die verwiesen wird, enthalten sind.A template that only allows a single instantiation can have the controls that are contained inside of it referenced. Die ZoneTemplate -Eigenschaft ist ein Beispiel für eine Eigenschaft, die nur einmal instanziiert werden kann.The ZoneTemplate property is an example of a property that can be instantiated only one time.

Dies TemplateInstanceAttribute Klasse ist optional.This TemplateInstanceAttribute class is optional. Wenn Template-Eigenschaft nicht mit erweitert wird eine TemplateInstanceAttribute -Klasse, der Standardwert der Multiple Feld, verwendet.If a template property is not extended with a TemplateInstanceAttribute class, the default value, the Multiple field, is used. Weitere Informationen zum Verwenden von Attributen finden Sie unter Attribute.For more information about using attributes, see Attributes.

Konstruktoren

TemplateInstanceAttribute(TemplateInstance) TemplateInstanceAttribute(TemplateInstance) TemplateInstanceAttribute(TemplateInstance) TemplateInstanceAttribute(TemplateInstance)

Initialisiert eine neue Instanz der TemplateInstanceAttribute-Klasse mit dem angegebenen TemplateInstance-Enumerationswert.Initializes a new instance of the TemplateInstanceAttribute class with the specified TemplateInstance enumeration value.

Felder

Default Default Default Default

Definiert den Standardwert für die TemplateInstanceAttribute-Klasse.Defines the default value for the TemplateInstanceAttribute class. Dieses Feld ist schreibgeschützt.This field is read-only.

Multiple Multiple Multiple Multiple

Erstellt eine Instanz der TemplateInstanceAttribute-Klasse. Diese stellt eine Vorlage dar, die mehrmals instanziiert wird.Creates an instance of the TemplateInstanceAttribute class as one representing a template that will be instantiated multiple times. Dieses Feld ist schreibgeschützt.This field is read-only.

Single Single Single Single

Erstellt eine Instanz der TemplateInstanceAttribute-Klasse. Diese stellt eine Vorlage dar, die einmal instanziiert wird.Creates an instance of the TemplateInstanceAttribute class as one representing a template that will be instantiated a single time. Dieses Feld ist schreibgeschützt.This field is read-only.

Eigenschaften

Instances Instances Instances Instances

Ruft den TemplateInstance-Enumerationswert ab, den die aktuelle Vorlageninstanz darstellt.Gets the TemplateInstance enumeration value that the current template instance represents.

TypeId TypeId TypeId TypeId

Ruft bei Implementierung in einer abgeleiteten Klasse einen eindeutigen Bezeichner für dieses Attribute ab.When implemented in a derived class, gets a unique identifier for this Attribute.

(Inherited from Attribute)

Methoden

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Gibt an, ob das angegebene Objekt ein TemplateInstanceAttribute-Objekt ist und mit diesem TemplateInstanceAttribute-Objekt identisch ist.Indicates whether the specified object is a TemplateInstanceAttribute object and is identical to the this TemplateInstanceAttribute object.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Ruft einen Hashcode für dieses TemplateInstanceAttribute-Objekt ab.Gets a hash code for this TemplateInstanceAttribute object.

GetType() GetType() GetType() GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Inherited from Object)
IsDefaultAttribute() IsDefaultAttribute() IsDefaultAttribute() IsDefaultAttribute()

Gibt einen Wert zurück, der angibt, ob das aktuelle TemplateInstanceAttribute-Objekt mit dem standardmäßigen TemplateInstanceAttribute-Objekt identisch ist.Returns a value indicating if the current TemplateInstanceAttribute object is the same as the default TemplateInstanceAttribute object.

Match(Object) Match(Object) Match(Object) Match(Object)

Beim Überschreiben in einer abgeleiteten Klasse wird ein Wert zurückgegeben, der angibt, ob diese Instanz einem bestimmten Objekt entspricht.When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(Inherited from Attribute)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Inherited from Object)

Explizite Schnittstellenimplementierungen

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu.Maps a set of names to a corresponding set of dispatch identifiers.

(Inherited from Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Ruft die Typinformationen für ein Objekt ab, mit deren Hilfe die Typinformationen für eine Schnittstelle abgerufen werden können.Retrieves the type information for an object, which can be used to get the type information for an interface.

(Inherited from Attribute)
_Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32)

Ruft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(Inherited from Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Stellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit.Provides access to properties and methods exposed by an object.

(Inherited from Attribute)

Gilt für:

Siehe auch