Číst v angličtině

Sdílet prostřednictvím


TemplateInstanceAttribute Třída

Definice

Definuje atribut metadat, který se používá k určení počtu povolených instancí šablony. Tato třída se nemůže dědit.

[System.AttributeUsage(System.AttributeTargets.Property)]
public sealed class TemplateInstanceAttribute : Attribute
Dědičnost
TemplateInstanceAttribute
Atributy

Příklady

Následující příklad kódu ukazuje, jak použít TemplateInstance výčet a TemplateInstanceAttribute třídu. Vlastní LoginView ovládací prvek s názvem MyLoginViewA přepíše AnonymousTemplate vlastnost a používá TemplateInstanceAttribute třídu k určení, že je vytvořena pouze jedna instance AnonymousTemplate vlastnosti.

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;
            }
        }
    }
}

Následující příklad kódu je soubor ASPX, který používá MyLoginViewA ovládací prvek a ukazuje, jak získat přístup k vlastnostem TemplateInstanceAttribute třídy.

<%@ 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>

Poznámky

Třída TemplateInstanceAttribute umožňuje označit vlastnost šablony jako vlastnost, která umožňuje vytvoření jedné nebo více instancí. Šablona, která umožňuje pouze jednu instanci, může obsahovat odkazy na ovládací prvky, které jsou v ní obsaženy. Vlastnost ZoneTemplate je příkladem vlastnosti, kterou lze vytvořit pouze jednou.

Tato TemplateInstanceAttribute třída je volitelná. Pokud vlastnost šablony není rozšířena o TemplateInstanceAttribute třídu, použije se výchozí hodnota, Multiple pole. Další informace o používání atributů najdete v tématu Atributy.

Konstruktory

TemplateInstanceAttribute(TemplateInstance)

Inicializuje novou instanci TemplateInstanceAttribute třídy se zadanou TemplateInstance hodnotou výčtu.

Pole

Default

Definuje výchozí hodnotu pro TemplateInstanceAttribute třídu. Toto pole je jen ke čtení.

Multiple

Vytvoří instanci TemplateInstanceAttribute třídy jako instanci představující šablonu, která bude vytvořena vícekrát. Toto pole je jen ke čtení.

Single

Vytvoří instanci TemplateInstanceAttribute třídy jako instanci představující šablonu, která bude vytvořena jednou. Toto pole je jen ke čtení.

Vlastnosti

Instances

TemplateInstance Získá hodnotu výčtu, kterou aktuální instance šablony představuje.

TypeId

Při implementaci v odvozené třídě získá jedinečný identifikátor pro tuto Attributetřídu .

(Zděděno od Attribute)

Metody

Equals(Object)

Určuje, zda zadaný objekt je TemplateInstanceAttribute objekt a je identický s tímto TemplateInstanceAttribute objektem.

GetHashCode()

Získá hash kód pro tento TemplateInstanceAttribute objekt.

GetType()

Získá aktuální Type instanci.

(Zděděno od Object)
IsDefaultAttribute()

Vrátí hodnotu označující, zda je aktuální TemplateInstanceAttribute objekt stejný jako výchozí TemplateInstanceAttribute objekt.

Match(Object)

Při přepsání v odvozené třídě vrátí hodnotu, která označuje, zda se tato instance rovná zadanému objektu.

(Zděděno od Attribute)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Explicitní implementace rozhraní

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

Mapuje sadu názvů na odpovídající sadu identifikátorů pro rozesílání.

(Zděděno od Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Načte informace o typu objektu, které lze použít k získání informací o typu pro rozhraní.

(Zděděno od Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Získá počet rozhraní typu informací, které objekt poskytuje (0 nebo 1).

(Zděděno od Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Poskytuje přístup k vlastnostem a metodám vystaveným objektem.

(Zděděno od Attribute)

Platí pro

Produkt Verze
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1

Viz také