INamingContainer Interface

Definição

Identifica um controlo de contentor que cria um novo espaço de nomes ID dentro da hierarquia de controlo de um Page objeto. Isto é apenas uma interface de marcadores.

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

Exemplos

O exemplo de código seguinte demonstra um controlo de servidor personalizado com template que implementa a INamingContainer interface. Quando este controlo personalizado de servidor é usado num ficheiro .aspx, fornece um namespace único para quaisquer controlos de servidor que contenha.

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

Observações

Qualquer controlo que implemente esta interface cria um novo namespace em que todos os atributos do ID de controlo filho são garantidos únicos dentro de toda a aplicação. O marcador fornecido por esta interface permite a nomeação única das instâncias de controlo de servidor geradas dinamicamente dentro dos controlos do servidor Web que suportam ligação de dados. Estes controlos incluem os Repeater, DataGrid, DataList, CheckBoxList, ChangePassword, LoginViewMenu, SiteMapNodeItemRadioButtonList e controlos.

Quando desenvolver controlos templateados, deve implementar esta interface para evitar conflitos de nomes numa página. Para mais informações, consulte ASP.NET Visão Geral dos Designers de Controlo.

Métodos da Extensão

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

Ativa o comportamento de Dados Dinâmicos para o controlo de dados especificado.

EnableDynamicData(INamingContainer, Type, Object)

Ativa o comportamento de Dados Dinâmicos para o controlo de dados especificado.

EnableDynamicData(INamingContainer, Type)

Ativa o comportamento de Dados Dinâmicos para o controlo de dados especificado.

GetDefaultValues(INamingContainer)

Obtém a recolha dos valores padrão para o controlo de dados especificado.

GetMetaTable(INamingContainer)

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

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

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

SetMetaTable(INamingContainer, MetaTable, Object)

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

SetMetaTable(INamingContainer, MetaTable)

Define os metadados da tabela para o controlo de dados especificado.

TryGetMetaTable(INamingContainer, MetaTable)

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

Aplica-se a

Ver também