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) |
Определяет, доступны ли метаданные таблицы. |