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

備註

實作此介面的任何控件都會建立新的命名空間,其中所有子控件標識碼屬性保證在整個應用程式中都是唯一的。 這個介面所提供的標記允許在支持數據系結的 Web 伺服器控制件中,動態產生之伺服器控制項實例的唯一命名。 這些控制件包括RepeaterDataGridDataList、、CheckBoxListChangePasswordLoginViewSiteMapNodeItemMenu、 和 RadioButtonList 控制件。

當您開發樣板化控件時,您應該實作這個介面,以避免頁面上的命名衝突。 如需詳細資訊,請參閱 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)

針對指定的資料控制項啟用動態資料行為。

適用於

另請參閱