SiteMapProviderCollection 類別

定義

SiteMap 類別使用,以追蹤 SiteMapProvider 物件集合,這些物件在網站導覽初始設定期間可供 SiteMap 使用。 此類別無法獲得繼承。

public ref class SiteMapProviderCollection sealed : System::Configuration::Provider::ProviderCollection
public sealed class SiteMapProviderCollection : System.Configuration.Provider.ProviderCollection
type SiteMapProviderCollection = class
    inherit ProviderCollection
Public NotInheritable Class SiteMapProviderCollection
Inherits ProviderCollection
繼承
SiteMapProviderCollection

範例

下列程式碼範例示範如何從 SiteMap 物件擷取 SiteMapProviderCollection 物件,並逐一查看物件。

如果您不只是為網站設定的預設提供者,您會看到每個顯示提供者。 例如,如果您使用類別概觀中找到的 SiteMapProvider 範例 AccessSiteMapProvider ,您會看到下列輸出。

XmlSiteMapProvider   System.Web.XmlSiteMapProvider  
AccessSiteMapProvider   Samples.AspNet.Controls.AccessSiteMapProvider  
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<SCRIPT runat="server">
private void Page_Load(object sender, System.EventArgs e)
{
    // Navigate the SiteMap built by the default SiteMapProvider.
    Response.Write(SiteMap.RootNode.ToString() + "<BR>");

    Response.Write(SiteMap.RootNode.Url + "<BR>");
    Response.Write(SiteMap.RootNode.Title + "<BR>");

    foreach (SiteMapNode sitemapnode in SiteMap.RootNode.ChildNodes)
    {
        // Iterate through the ChildNodes SiteMapNodesCollection
        // maintained by the RootNode.
        Response.Write(sitemapnode.Url + "<BR>" );
    }

    IEnumerator providers = SiteMap.Providers.GetEnumerator();
    while (providers.MoveNext())
    {
        Response.Write(providers.Current);
        Response.Write("&nbsp;&nbsp;&nbsp;");
        Response.Write("<BR>");
    }
}
</SCRIPT>
<%@ Page Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<SCRIPT runat="server">
Private Sub Page_Load(Sender As Object, E As EventArgs)

    ' Navigate the SiteMap built by the default SiteMapProvider.
    Response.Write(SiteMap.RootNode.ToString() & "<BR>")

    Response.Write(SiteMap.RootNode.Url & "<BR>")
    Response.Write(SiteMap.RootNode.Title & "<BR>")

    Dim sitemapnode As SiteMapNode
    For Each sitemapnode In SiteMap.RootNode.ChildNodes
        ' Iterate through the ChildNodes SiteMapNodesCollection
        ' maintained by the RootNode.
        Response.Write(sitemapnode.Url & "<BR>" )
    Next

    Dim providers As IDictionaryEnumerator = SiteMap.Providers.GetEnumerator()
    While (providers.MoveNext())
        Response.Write(providers.Current)
        Response.Write("&nbsp;&nbsp;&nbsp;")
        Response.Write("<BR>")
    End While
End Sub ' Page_Load

</SCRIPT>

備註

類別 SiteMapProviderCollection 是 物件的強型別 Hashtable 集合 SiteMapProvider 。 除了這兩個 add 方法和 Add(SiteMapProvider) 之外, Add(ProviderBase) 類別 SiteMapProviderCollection 還支援 AddArray 方法,以新增 型 SiteMapProvider 別的陣列。

類別會使用 來 SiteMapProviderCollection 追蹤網站地圖初始化期間可用的 SiteMap 物件集合 SiteMapProviderSiteMap 不過,提供者集合中是否存在 SiteMapProvider 不一定表示物件正在使用 SiteMap 它,只表示它可供使用。

SiteMapProvider當 儲存在 中 SiteMapProviderCollection 時,屬性 Name 會當做索引鍵使用。

建構函式

SiteMapProviderCollection()

初始化 SiteMapProviderCollection 類別的新執行個體。

屬性

Count

取得集合中的提供者數目。

(繼承來源 ProviderCollection)
IsSynchronized

取得值,表示是否同步化存取集合 (執行緒安全)。

(繼承來源 ProviderCollection)
Item[String]

從提供者集合中,取得特定名稱的 SiteMapProvider 物件。

SyncRoot

取得目前的物件。

(繼承來源 ProviderCollection)

方法

Add(ProviderBase)

使用 SiteMapProvider 屬性做為索引鍵,將 Name 加入至提供者集合。

Add(SiteMapProvider)

使用 SiteMapProvider 屬性做為索引鍵,將 Name 物件加入至提供者集合。

AddArray(SiteMapProvider[])

使用 SiteMapProvider 屬性做為索引鍵,將 Name 物件的陣列加入至提供者集合。

Clear()

移除集合的所有項目。

(繼承來源 ProviderCollection)
CopyTo(ProviderBase[], Int32)

從指定之索引處開始,將集合的內容複製到指定的陣列。

(繼承來源 ProviderCollection)
Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
GetEnumerator()

傳回實作 IEnumerator 介面以逐一查看集合的物件。

(繼承來源 ProviderCollection)
GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetType()

取得目前執行個體的 Type

(繼承來源 Object)
MemberwiseClone()

建立目前 Object 的淺層複製。

(繼承來源 Object)
Remove(String)

從集合移除提供者。

(繼承來源 ProviderCollection)
SetReadOnly()

將集合設定為唯讀。

(繼承來源 ProviderCollection)
ToString()

傳回代表目前物件的字串。

(繼承來源 Object)

明確介面實作

ICollection.CopyTo(Array, Int32)

從特定的陣列索引開始,將 ProviderCollection 的項目複製到陣列中。

(繼承來源 ProviderCollection)

擴充方法

Cast<TResult>(IEnumerable)

IEnumerable 的項目轉換成指定的型別。

OfType<TResult>(IEnumerable)

根據指定的型別來篩選 IEnumerable 的項目。

AsParallel(IEnumerable)

啟用查詢的平行化作業。

AsQueryable(IEnumerable)

IEnumerable 轉換成 IQueryable

適用於

另請參閱