次の方法で共有


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、、、、DataListCheckBoxListLoginViewSiteMapNodeItemChangePasswordMenuおよび RadioButtonList の各コントロールが含まれます。 DataGrid

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

拡張メソッド

GetDefaultValues(INamingContainer)

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

GetMetaTable(INamingContainer)

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

SetMetaTable(INamingContainer, MetaTable)

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

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

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

SetMetaTable(INamingContainer, MetaTable, Object)

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

TryGetMetaTable(INamingContainer, MetaTable)

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

EnableDynamicData(INamingContainer, Type)

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

EnableDynamicData(INamingContainer, Type, IDictionary<String,Object>)

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

EnableDynamicData(INamingContainer, Type, Object)

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

適用対象

こちらもご覧ください