TemplateInstance Výčet
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Určuje, kolikrát lze vytvořit instanci šablony.
public enum class TemplateInstance
public enum TemplateInstance
type TemplateInstance =
Public Enum TemplateInstance
- Dědičnost
Pole
| Name | Hodnota | Description |
|---|---|---|
| Multiple | 0 | Šablona, která se vytvoří vícekrát. |
| Single | 1 | Šablona, která se vytvoří pouze jednou. |
Příklady
Následující příklad kódu ukazuje použití výčtu TemplateInstanceTemplateInstanceAttribute a třídy. Vlastní LoginView ovládací prvek s názvem MyLoginView, 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 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
Následující příklad kódu je soubor ASPX, který používá MyLoginView ovládací prvek a ukazuje, jak získat přístup k ovládacímu Label prvku, který je uvnitř AnonymousTemplate vlastnosti.
<%@ 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>
Poznámky
Výčet TemplateInstance určuje hodnoty označující, kolikrát může být instance šablony vytvořena. Třída TemplateInstanceAttribute používá hodnoty z výčtu TemplateInstanceAttribute . Konkrétně pole SingleMultiple určují jednu a více instancí šablony. Jedna instance šablony umožňuje odkazovat na ovládací prvky obsažené v šabloně.
Příklady ovládacích prvků, které používají jednu hodnotu v metadatech vlastnosti, zahrnují ZoneTemplate vlastnost CatalogZone ovládacího prvku, ZoneTemplate vlastnost EditorZone ovládacího prvku a ZoneTemplate vlastnost WebPartZone.