TemplateInstance 열거형
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
템플릿 인스턴스를 만들 수 있는 횟수를 지정합니다.
public enum class TemplateInstance
public enum TemplateInstance
type TemplateInstance =
Public Enum TemplateInstance
- 상속
필드
| Name | 값 | Description |
|---|---|---|
| Multiple | 0 | 여러 번 인스턴스화되는 템플릿입니다. |
| Single | 1 | 한 번만 인스턴스화되는 템플릿입니다. |
예제
다음 코드 예제에서는 열거형 및 클래스를 TemplateInstanceTemplateInstanceAttribute 사용 하는 방법을 보여 줍니다. 명명된 사용자 지정 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 속성 내에 AnonymousTemplate 있는 컨트롤에 Label 액세스 하는 방법을 보여 주는 ASPX 파일입니다.
<%@ 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 값을 사용하는 컨트롤의 예로는 컨트롤의 CatalogZone 속성, ZoneTemplate 컨트롤의 EditorZone 속성 및 속성이 ZoneTemplateWebPartZone있습니다ZoneTemplate.