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) |
Включает поведение платформы динамических данных для указанного элемента управления данными. |