Freigeben über


INamingContainer-Schnittstelle

Gibt ein Containersteuerelement an, das einen neuen ID-Namespace innerhalb der Steuerelementhierarchie eines Page-Objekts erstellt. Hierbei handelt es sich nur um eine Markierungsschnittstelle.

Namespace: System.Web.UI
Assembly: System.Web (in system.web.dll)

Syntax

'Declaration
Public Interface INamingContainer
'Usage
Dim instance As INamingContainer
public interface INamingContainer
public interface class INamingContainer
public interface INamingContainer
public interface INamingContainer

Hinweise

Jedes Steuerelement, das diese Schnittstelle implementiert, erstellt einen neuen Namespace, in dem die Eindeutigkeit der ID-Attribute aller untergeordneten Steuerelemente innerhalb einer gesamten Anwendung sichergestellt ist. Die über diese Schnittstelle bereitgestellte Markierung ermöglicht eine eindeutige Benennung der dynamisch generierter Instanzen von Serversteuerelementen in allen Webserversteuerelementen, die eine Datenbindung unterstützen. Zu diesen Serversteuerelementen gehören die Steuerelemente Repeater, DataGrid, DataList, CheckBoxList, ChangePassword, LoginView, Menu, SiteMapNodeItem und RadioButtonList.

Wenn Sie Steuerelemente mithilfe von Vorlagen entwickeln, sollten Sie diese Schnittstelle implementieren, um Namenskonflikte auf einer Seite zu vermeiden. Weitere Informationen finden Sie unter Übersicht über ASP.NET-Steuerelement-Designer.

Thema Position
Gewusst wie: Erstellen von vorlagenbasierten ASP.NET-Benutzersteuerelementen Erstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Erstellen von vorlagenbasierten ASP.NET-Benutzersteuerelementen Erstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Erstellen von vorlagenbasierten ASP.NET-Benutzersteuerelementen Erstellen von ASP.NET-Webanwendungen

Beispiel

Im folgenden Codebeispiel wird ein benutzerdefiniertes, aus einer Vorlage gebildetes Serversteuerelement gezeigt, das die INamingContainer-Schnittstelle implementiert. Wenn dieses benutzerdefinierte Serversteuerelement in einer ASPX-Datei verwendet wird, wird ein eindeutiger Namespace für alle Serversteuerelemente bereitgestellt, die darin enthalten sind.

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;
        }
    }
}

Plattformen

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

INamingContainer-Member
System.Web.UI-Namespace
Control-Klasse
Page

Weitere Ressourcen

Übersicht über ASP.NET-Steuerelement-Designer