Mise à jour : novembre 2007
Identifie un contrôle conteneur qui crée un nouvel espace de noms d'ID dans la hiérarchie de contrôles d'un objet Page. Ceci est une interface de marqueur uniquement.
Espace de noms :
System.Web.UI Assembly :
System.Web (dans System.Web.dll)
Visual Basic (Déclaration)
<AspNetHostingPermissionAttribute(SecurityAction.LinkDemand, Level := AspNetHostingPermissionLevel.Minimal)> _
<AspNetHostingPermissionAttribute(SecurityAction.InheritanceDemand, Level := AspNetHostingPermissionLevel.Minimal)> _
Public Interface INamingContainer
Visual Basic (Utilisation)
Dim instance As INamingContainer
[AspNetHostingPermissionAttribute(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermissionAttribute(SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)]
public interface INamingContainer
[AspNetHostingPermissionAttribute(SecurityAction::LinkDemand, Level = AspNetHostingPermissionLevel::Minimal)]
[AspNetHostingPermissionAttribute(SecurityAction::InheritanceDemand, Level = AspNetHostingPermissionLevel::Minimal)]
public interface class INamingContainer
/** @attribute AspNetHostingPermissionAttribute(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal) */
/** @attribute AspNetHostingPermissionAttribute(SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal) */
public interface INamingContainer
public interface INamingContainer
Tout contrôle qui implémente cette interface crée un nouvel espace de noms dans lequel tous les attributs d'identification (ID) de contrôles enfants sont garantis uniques dans une application. Le marqueur fourni par cette interface permet d'attribuer un nom unique aux instances de contrôle serveur générées dynamiquement au sein des contrôles serveur Web qui prennent en charge la liaison de données. Parmi ces contrôles, citons notamment les contrôles Repeater, DataGrid, DataList, CheckBoxList, ChangePassword, LoginView, Menu, SiteMapNodeItem et RadioButtonList.
Lorsque vous développez des contrôles basés sur des modèles, vous devez implémenter cette interface pour éviter les conflits de noms dans une page. Pour plus d'informations, consultez Vue d'ensemble des Concepteurs de contrôles ASP.NET.
L'exemple de code suivant illustre un contrôle serveur personnalisé basé sur un modèle qui implémente l'interface INamingContainer. Lorsque ce contrôle serveur personnalisé est utilisé dans un fichier .aspx, il fournit un espace de noms à tous les contrôles serveur qu'il contient.
Imports System
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
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;
}
}
}
}
package TemplateControlSamples;
import System.*;
import System.Collections.*;
import System.Web.*;
import System.Web.UI.*;
public class RepeaterItem extends Control implements INamingContainer
{
private int itemIndex;
private Object dataItem;
public RepeaterItem(int itemIndex, Object dataItem)
{
this.itemIndex = itemIndex;
this.dataItem = dataItem;
} //RepeaterItem
/** @property
*/
public Object get_DataItem()
{
return dataItem;
} //get_DataItem
/** @property
*/
public int get_ItemIndex()
{
return itemIndex;
} //get_ItemIndex
} //RepeaterItem
import System;
import System.Collections;
import System.Web;
import System.Web.UI;
package TemplateControlSamples {
public class RepeaterItem extends Control implements INamingContainer {
private var itemIndex : int;
private var dataItem;
function RepeaterItem(itemIndex : int, dataItem) {
this.itemIndex = itemIndex;
this.dataItem = dataItem;
}
function get DataItem() {
return dataItem;
}
function get ItemIndex() : int {
return itemIndex;
}
}
}
Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professionnel Édition x64, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98
Le .NET Framework et le .NET Compact Framework ne prennent pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.
.NET Framework
Pris en charge dans : 3.5, 3.0, 2.0, 1.1, 1.0
Référence
Autres ressources