TemplateInstance 列舉
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
指定樣板的執行個體可建立的次數。
public enum class TemplateInstance
public enum TemplateInstance
type TemplateInstance =
Public Enum TemplateInstance
- 繼承
欄位
Multiple | 0 | 執行個體化多次的樣板。 |
Single | 1 | 執行個體化單次的樣板。 |
範例
下列程式碼範例示範如何使用 TemplateInstance 列舉和 TemplateInstanceAttribute 類別。 名為 的自訂 LoginView 控制項會 AnonymousTemplate 覆寫 屬性,並使用 TemplateInstanceAttribute 類別來指定只建立一個屬性實例 AnonymousTemplate 。 MyLoginView
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
下列程式碼範例是使用 控制項的 MyLoginView
ASPX 檔案,並示範如何存取 Label 屬性內的 AnonymousTemplate 控制項。
<%@ 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>
備註
列舉 TemplateInstance 會指定值,指出可以建立範本實例的次數。 類別 TemplateInstanceAttribute 會使用列舉中的 TemplateInstanceAttribute 值。 特別是 , Single 和 Multiple 欄位分別指定範本的單一和多個實例。 範本的單一實例可讓您參考範本中包含的控制項。
在屬性中繼資料中使用 Single 值的控制項範例包括 ZoneTemplate 控制項的 CatalogZone 屬性、 ZoneTemplate 控制項的 EditorZone 屬性,以及 ZoneTemplate 的 WebPartZone 屬性。