Язык

INamingContainer Интерфейс

Определение

Определяет элемент управления контейнером, который создает новое пространство имен идентификаторов в Page иерархии элементов управления объекта. Это только интерфейс маркера.

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

Комментарии

Любой элемент управления, реализующий этот интерфейс, создает новое пространство имен, в котором все атрибуты идентификатора дочернего элемента управления гарантированно будут уникальными в пределах всего приложения. Маркер, предоставляемый этим интерфейсом, позволяет использовать уникальное именование экземпляров динамически созданных экземпляров элементов управления сервером в элементах управления веб-сервера, поддерживающих привязку данных. К этим элементам управления относятся Repeaterэлементы управления , DataGridDataListCheckBoxListChangePasswordLoginViewMenuSiteMapNodeItemа также RadioButtonList элементы управления.

При разработке шаблонных элементов управления следует реализовать этот интерфейс, чтобы избежать конфликтов именования на странице. Дополнительные сведения см. в разделе ASP.NET Обзор конструкторов элементов управления.

Методы расширения

Имя Описание
EnableDynamicData(INamingContainer, Type, IDictionary<String,Object>)

Включает поведение динамических данных для указанного элемента управления данными.

EnableDynamicData(INamingContainer, Type, Object)

Включает поведение динамических данных для указанного элемента управления данными.

EnableDynamicData(INamingContainer, Type)

Включает поведение динамических данных для указанного элемента управления данными.

GetDefaultValues(INamingContainer)

Возвращает коллекцию значений по умолчанию для указанного элемента управления данными.

GetMetaTable(INamingContainer)

Возвращает метаданные таблицы для указанного элемента управления данными.

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

Задает сопоставление метаданных таблицы и значений по умолчанию для указанного элемента управления данными.

SetMetaTable(INamingContainer, MetaTable, Object)

Задает сопоставление метаданных таблицы и значений по умолчанию для указанного элемента управления данными.

SetMetaTable(INamingContainer, MetaTable)

Задает метаданные таблицы для указанного элемента управления данными.

TryGetMetaTable(INamingContainer, MetaTable)

Определяет, доступны ли метаданные таблицы.

Применяется к

См. также раздел