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элементы управления , DataListDataGrid, CheckBoxList, ChangePassword, LoginView, Menu, SiteMapNodeItemи 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)

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

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

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