INamingContainer インターフェイス
アセンブリ: System.Web (system.web.dll 内)


このインターフェイスを実装するすべてのコントロールは、すべての子コントロール ID 属性がアプリケーション全体で確実に一意になるような新しい名前空間を作成します。このインターフェイスで提供されているマーカーによって、データ連結をサポートする Web サーバー コントロール内で、動的に生成されるサーバー コントロール インスタンスに一意の名前を付けることができます。これらのサーバー コントロールには、Repeater、DataGrid、DataList、CheckBoxList、ChangePassword、LoginView、Menu、SiteMapNodeItem、および RadioButtonList の各コントロールが含まれます。
テンプレートを使用したコントロールを開発する場合は、このインターフェイスを実装し、ページ上で名前が競合しないようにする必要があります。詳細については、「ASP.NET コントロール デザイナの概要」を参照してください。

テンプレートを使用したカスタム サーバー コントロールで INamingContainer インターフェイスを実装するコード例を次に示します。.aspx ファイルでこのカスタム サーバー コントロールを使用すると、格納されているサーバー コントロールに一意の名前空間が提供されます。
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 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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


INamingContainer メンバ
- INamingContainerのページへのリンク