INamingContainer INamingContainer INamingContainer INamingContainer Interface

Definition

Определяет элемент управления контейнером, который создает новый идентификатор пространства имен в иерархии элементов управления объекта Page. Identifies a container control that creates a new ID namespace within a Page object's control hierarchy. Это только маркерный интерфейс. This is a marker interface only.

public interface class INamingContainer
public interface INamingContainer
type INamingContainer = interface
Public Interface INamingContainer
Derived

Examples

В следующем примере кода демонстрируется шаблонного пользовательского серверного элемента управления, который реализует INamingContainer интерфейс.The following code example demonstrates a templated custom server control that implements the INamingContainer interface. При этом пользовательский серверный элемент управления используется в файле .aspx, которая предоставит уникальное пространство имен для всех серверных элементов управления, содержащимися в ней.When this custom server control is used in an .aspx file, it will provide a unique namespace for any server controls that it contains.

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
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

Remarks

Любой элемент управления, который реализует этот интерфейс создает новое пространство имен, в котором все атрибуты ID элемента управления дочерних гарантированно уникальным в пределах всего приложения.Any control that implements this interface creates a new namespace in which all child control ID attributes are guaranteed to be unique within an entire application. Маркер, предоставляемый этот интерфейс позволяет уникальных имен экземпляров элемента управления динамически созданный сервер в пределах сервера веб-элементы управления, которые поддерживают привязку данных.The marker provided by this interface allows unique naming of the dynamically generated server control instances within the Web server controls that support data binding. Эти элементы управления включают Repeater, DataGrid, DataList, CheckBoxList, ChangePassword, LoginView, Menu, SiteMapNodeItem, и RadioButtonList элементов управления.These controls include the Repeater, DataGrid, DataList, CheckBoxList, ChangePassword, LoginView, Menu, SiteMapNodeItem, and RadioButtonList controls.

При разработке шаблонных элементов управления, следует реализовать этот интерфейс, чтобы избежать конфликтов именования на странице.When you develop templated controls, you should implement this interface to avoid naming conflicts on a page. Дополнительные сведения см. в разделе Общие.For more information, see ASP.NET Control Designers Overview.

Applies to

See Also