SiteMapProviderCollection クラス
アセンブリ: System.Web (system.web.dll 内)
構文
SiteMapProviderCollection クラスは、SiteMapProvider オブジェクトの厳密に型指定された Hashtable コレクションです。2 つの追加メソッド Add(ProviderBase) と Add(SiteMapProvider) の他に、SiteMapProviderCollection クラスは SiteMapProvider 型の配列を追加する AddArray メソッドをサポートします。
SiteMapProviderCollection は、サイト マップの初期化中に SiteMap で使用できる SiteMapProvider オブジェクト セットを追跡するため、SiteMap クラスにより使用されます。ただし、プロバイダ コレクションに SiteMapProvider が存在していても、それが必ず SiteMap オブジェクトによって使用されているわけではなく、使用可能であるというだけです。
SiteMapProvider が SiteMapProviderCollection に格納される場合、Name プロパティがキーとして使用されます。
SiteMapProviderCollection オブジェクトを SiteMap オブジェクトから取得して、それを反復処理する方法のコード例を次に示します。
サイトに構成されているプロバイダが既定のプロバイダだけではない場合、各プロバイダが表示されます。たとえば、SiteMapProvider クラス概要にあるサンプル AccessSiteMapProvider を使用している場合、次の出力が表示されます。
XmlSiteMapProvider System.Web.XmlSiteMapProvider AccessSiteMapProvider Samples.AspNet.Controls.AccessSiteMapProvider
<%@ 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>
<%@ 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>
System.Configuration.Provider.ProviderCollection
System.Web.SiteMapProviderCollection
プラットフォーム
Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
参照
- SiteMapProviderCollection クラスのページへのリンク