INamingContainer Interface
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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. |