Language

INamingContainer インターフェイス

定義

Page オブジェクトのコントロール階層内に新しい ID 名前空間を作成するコンテナー コントロールを識別します。 これはマーカー インターフェイスのみです。

public interface class INamingContainer
public interface INamingContainer
type INamingContainer = interface
Public Interface INamingContainer
派生

例

次のコード例は、 INamingContainer インターフェイスを実装するテンプレート化されたカスタム サーバー コントロールを示しています。 このカスタム サーバー コントロールを.aspx ファイルで使用すると、そのコントロールに含まれるすべてのサーバー コントロールに一意の名前空間が提供されます。

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

注釈

このインターフェイスを実装するコントロールは、すべての子コントロール ID 属性がアプリケーション全体で一意であることが保証される新しい名前空間を作成します。 このインターフェイスによって提供されるマーカーを使用すると、データ バインディングをサポートする Web サーバー コントロール内で動的に生成されたサーバー コントロール インスタンスの一意の名前付けができます。 これらのコントロールには、 Repeater、 DataGrid、 DataList、 CheckBoxList、 ChangePassword、 LoginView、 Menu、 SiteMapNodeItem、および RadioButtonList コントロールが含まれます。

テンプレート化されたコントロールを開発するときは、ページで名前の競合を回避するために、このインターフェイスを実装する必要があります。 詳細については、「ASP.NET コントロール デザイナーの概要を参照してください。

拡張メソッド

名前 説明
EnableDynamicData(INamingContainer, Type, IDictionary<String,Object>)

指定したデータ コントロールの動的データ動作を有効にします。

EnableDynamicData(INamingContainer, Type, Object)

指定したデータ コントロールの動的データ動作を有効にします。

EnableDynamicData(INamingContainer, Type)

指定したデータ コントロールの動的データ動作を有効にします。

GetDefaultValues(INamingContainer)

指定したデータ コントロールの既定値のコレクションを取得します。

GetMetaTable(INamingContainer)

指定したデータ コントロールのテーブル メタデータを取得します。

SetMetaTable(INamingContainer, MetaTable, IDictionary<String,Object>)

指定したデータ コントロールのテーブル メタデータと既定値のマッピングを設定します。

SetMetaTable(INamingContainer, MetaTable, Object)

指定したデータ コントロールのテーブル メタデータと既定値のマッピングを設定します。

SetMetaTable(INamingContainer, MetaTable)

指定したデータ コントロールのテーブル メタデータを設定します。

TryGetMetaTable(INamingContainer, MetaTable)

テーブル メタデータを使用できるかどうかを判断します。

適用対象

こちらもご覧ください