Compartilhar via


INamingContainer Interface

Definição

Identifica um controle de contêiner que cria um novo namespace de ID em uma hierarquia de controle do objeto Page. Isso é apenas uma interface de marcador.

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

Exemplos

O exemplo de código a seguir demonstra um controle de servidor personalizado com modelo que implementa a INamingContainer interface . Quando esse controle de servidor personalizado for usado em um arquivo .aspx, ele fornecerá um namespace exclusivo para todos os controles de servidor que ele contiver.

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

Comentários

Qualquer controle que implemente essa interface cria um novo namespace no qual todos os atributos de ID de controle filho têm a garantia de serem exclusivos em um aplicativo inteiro. O marcador fornecido por essa interface permite a nomenclatura exclusiva das instâncias de controle de servidor geradas dinamicamente dentro dos controles do servidor Web que dão suporte à associação de dados. Esses controles incluem os Repeatercontroles , DataGrid, DataList, CheckBoxList, ChangePassword, LoginView, Menu, SiteMapNodeIteme RadioButtonList .

Ao desenvolver controles modelo, você deve implementar essa interface para evitar conflitos de nomenclatura em uma página. Para obter mais informações, consulte Visão geral dos Designers de Controle de ASP.NET.

Métodos de Extensão

GetDefaultValues(INamingContainer)

Obtém a coleção de valores padrão para o controle de dados especificado.

GetMetaTable(INamingContainer)

Obtém os metadados de tabela para o controle de dados especificado.

SetMetaTable(INamingContainer, MetaTable)

Define os metadados de tabela para o controle de dados especificado.

SetMetaTable(INamingContainer, MetaTable, IDictionary<String,Object>)

Define os metadados de tabela e o mapeamento de valores padrão para o controle de dados especificado.

SetMetaTable(INamingContainer, MetaTable, Object)

Define os metadados de tabela e o mapeamento de valores padrão para o controle de dados especificado.

TryGetMetaTable(INamingContainer, MetaTable)

Determina se os metadados da tabela estão disponíveis.

EnableDynamicData(INamingContainer, Type)

Habilita o comportamento de Dados Dinâmicos para o controle de dados especificado.

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

Habilita o comportamento de Dados Dinâmicos para o controle de dados especificado.

EnableDynamicData(INamingContainer, Type, Object)

Habilita o comportamento de Dados Dinâmicos para o controle de dados especificado.

Aplica-se a

Confira também