INamingContainer 接口

定义

标识在 Page 对象的控件层次结构内创建新 ID 命名空间的容器控件。 这仅是一个标记接口。

public interface class INamingContainer
public interface INamingContainer
type INamingContainer = interface
Public Interface INamingContainer
派生

示例

下面的代码示例演示实现 INamingContainer 接口的模板化自定义服务器控件。 在 .aspx 文件中使用此自定义服务器控件时,它将为其包含的任何服务器控件提供唯一的命名空间。

using System;
using System.Collections;
using System.Web;
using System.Web.UI;

namespace TemplateControlSamples {

    public class RepeaterItem : Control, INamingContainer {

        private int itemIndex;
        private object dataItem;

        public RepeaterItem(int itemIndex, object dataItem) {
            this.itemIndex = itemIndex;
            this.dataItem = dataItem;
        }

        public object DataItem {
            get {
                return dataItem;
            }
        }

        public int ItemIndex {
            get {
                return itemIndex;
            }
        }
    }
}
Imports System.Collections
Imports System.Web
Imports System.Web.UI

Namespace TemplateControlSamplesVB

    Public Class RepeaterItemVB : Inherits Control : Implements INamingContainer

        Private _ItemIndex As Integer
        Private _DataItem As Object

        Public Sub New(ItemIndex As Integer, DataItem As Object)
            MyBase.New()
            _ItemIndex = ItemIndex
            _DataItem = DataItem
        End Sub

        Public ReadOnly Property DataItem As Object
            Get
                return _DataItem
            End Get
        End Property

        Public ReadOnly Property ItemIndex As Integer
            Get
                return _ItemIndex
            End Get
        End Property

    End Class

End Namespace

注解

实现此接口的任何控件都会创建一个新的命名空间,在该命名空间中,保证所有子控件 ID 属性在整个应用程序中都是唯一的。 此接口提供的标记允许在支持数据绑定的 Web 服务器控件中动态生成的服务器控件实例进行唯一命名。 这些控件包括 、RepeaterDataGridDataListCheckBoxListChangePasswordLoginViewMenuSiteMapNodeItem、 和 RadioButtonList 控件。

开发模板化控件时,应实现此接口以避免页面上的命名冲突。 有关详细信息,请参阅 ASP.NET 控件设计器概述

扩展方法

GetDefaultValues(INamingContainer)

为指定数据控件获取默认值的集合。

GetMetaTable(INamingContainer)

为指定数据控件获取表元数据。

SetMetaTable(INamingContainer, MetaTable)

为指定数据控件设置表元数据。

SetMetaTable(INamingContainer, MetaTable, IDictionary<String,Object>)

为指定数据控件设置表元数据和默认值映射。

SetMetaTable(INamingContainer, MetaTable, Object)

为指定数据控件设置表元数据和默认值映射。

TryGetMetaTable(INamingContainer, MetaTable)

确定表元数据是否可用。

EnableDynamicData(INamingContainer, Type)

为指定数据控件启用动态数据行为。

EnableDynamicData(INamingContainer, Type, IDictionary<String,Object>)

为指定数据控件启用动态数据行为。

EnableDynamicData(INamingContainer, Type, Object)

为指定数据控件启用动态数据行为。

适用于

另请参阅