TemplateInstance 枚举

定义

指定模板的实例可创建的次数。

C#
public enum TemplateInstance
继承
TemplateInstance

字段

名称 说明
Multiple 0

可实例化多次的模板。

Single 1

只可实例化一次的模板。

示例

下面的代码示例演示如何使用 TemplateInstance 枚举和 TemplateInstanceAttribute 类。 名为 的MyLoginView自定义LoginView控件重写 AnonymousTemplate 属性,并使用 TemplateInstanceAttribute 类指定仅创建属性的AnonymousTemplate一个实例。

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

下面的代码示例是一个 ASPX 文件,该文件使用 MyLoginView 控件并演示如何访问 Label 属性内的 AnonymousTemplate 控件。

ASP.NET (C#)
<%@ 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>

注解

枚举 TemplateInstance 指定指示可以创建模板实例的次数的值。 类 TemplateInstanceAttribute 使用 枚举中的 TemplateInstanceAttribute 值。 具体而言, SingleMultiple 字段分别指定模板的单个实例和多个实例。 通过模板的单个实例,可以引用模板中包含的控件。

在属性元数据中使用 Single 值的控件示例包括 ZoneTemplate 控件的 CatalogZone 属性、 ZoneTemplate 控件的 EditorZone 属性和 ZoneTemplateWebPartZone属性。

适用于

产品 版本
.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

另请参阅