INamingContainer Interface
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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. |