다음을 통해 공유


TemplateInstance 열거형

정의

템플릿 인스턴스를 만들 수 있는 횟수를 지정합니다.

public enum class TemplateInstance
public enum TemplateInstance
type TemplateInstance = 
Public Enum TemplateInstance
상속
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.

적용 대상

추가 정보