System.Web.UI, espace de no ...


Bibliothèque de classes .NET Framework
INamingContainer, interface

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)

Syntaxe

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
C#
[AspNetHostingPermissionAttribute(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermissionAttribute(SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)]
public interface INamingContainer
VisualC++
[AspNetHostingPermissionAttribute(SecurityAction::LinkDemand, Level = AspNetHostingPermissionLevel::Minimal)]
[AspNetHostingPermissionAttribute(SecurityAction::InheritanceDemand, Level = AspNetHostingPermissionLevel::Minimal)]
public interface class INamingContainer
J#
/** @attribute AspNetHostingPermissionAttribute(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal) */
/** @attribute AspNetHostingPermissionAttribute(SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal) */
public interface INamingContainer
JScript
public interface INamingContainer
Notes

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.

TopicLocation
Comment : créer des contrôles utilisateur ASP.NET avec modèlesGénération d'applications Web ASP.NET
Comment : créer des contrôles utilisateur ASP.NET avec modèlesGénération d'applications Web ASP.NET dans Visual Studio
Exemples

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.

Visual Basic
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
C#
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;
            }
        }
    }
}
J#
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
JScript
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;
        }
    }
}
Plateformes

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.

Informations de version

.NET Framework

Pris en charge dans : 3.5, 3.0, 2.0, 1.1, 1.0
Voir aussi

Référence

Autres ressources

Mots clés :


Page view tracker