SiteMapProviderCollection 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
由 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
- 繼承
範例
下列程式代碼範例示範如何從 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(" ");
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(" ")
Response.Write("<BR>")
End While
End Sub ' Page_Load
</SCRIPT>
備註
類別 SiteMapProviderCollection 是對象的強型別 Hashtable 集合 SiteMapProvider 。 除了兩個 add 方法 Add(ProviderBase) 和 Add(SiteMapProvider)之外,類別 SiteMapProviderCollection 還支援 AddArray 方法,以加入類型的 SiteMapProvider陣列。
類別SiteMapProviderCollection會使用 SiteMap 來追蹤網站地圖初始化期間可用的 SiteMap 物件集SiteMapProvider。 不過,提供者集合中的 存在 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。 |