다음을 통해 공유


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

설명

이 인터페이스를 구현 하는 모든 컨트롤에는 전체 애플리케이션 내에서 고유 되도록 보장 되므로 모든 자식 컨트롤 ID 특성이 있는 새 네임 스페이스를 만듭니다. 이 인터페이스에서 제공 하는 마커 데이터 바인딩을 지 원하는 웹 서버 컨트롤 내에서 동적으로 생성 된 서버 컨트롤 인스턴스에 고유한 이름을 지정할 수 있습니다. 이러한 컨트롤을 Repeater, DataGrid, DataList, 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)

지정된 데이터 컨트롤에 Dynamic Data 동작을 사용하도록 설정합니다.

EnableDynamicData(INamingContainer, Type, IDictionary<String,Object>)

지정된 데이터 컨트롤에 Dynamic Data 동작을 사용하도록 설정합니다.

EnableDynamicData(INamingContainer, Type, Object)

지정된 데이터 컨트롤에 Dynamic Data 동작을 사용하도록 설정합니다.

적용 대상

추가 정보