サイト マップ [sitemap]
SiteMap イベント


関連項目
SiteMap クラスSystem.Web 名前空間
SiteMapNode
SiteMapProvider
SiteMapNodeCollection
SiteMapProviderCollection
SiteMapPath
TreeView
その他の技術情報
ASP.NET サイト ナビゲーションの概要ASP.NET サイト マップ
ASP.NET サイト ナビゲーション プロバイダ
SiteMap クラス
アセンブリ: System.Web (system.web.dll 内)


サイト マップは、SiteMapDataSource、SiteMapPath、およびその他のコントロールと組み合わせて使用し、ユーザーが Web サイトを移動するための効果的なナビゲーション インターフェイスを実現します。SiteMap オブジェクトは ASP.NET サイト ナビゲーション インフラストラクチャのコンポーネントで、ナビゲーション コントロールや SiteMapDataSource コントロールを使用するページやコントロールの開発者が、読み取り専用のサイト マップ情報にアクセスできるようにします。ASP.NET サイト ナビゲーション インフラストラクチャのその他のコンポーネントには、SiteMapProvider クラス、XmlSiteMapProvider クラス、Web.sitemap ファイル、およびSiteMap クラスと組み合わせてコンテンツやメニューを表示する SiteMapPath コントロールなどのさまざまなコントロールがあります。
基本的に、SiteMap は SiteMapNode オブジェクトの階層コレクションのコンテナです。ただし、SiteMap は、ノード間の関係を保持せず、サイト マップ プロバイダにこの処理を代行させます。SiteMap は、サイト マップ プロバイダが保持するサイト ナビゲーション情報 (SiteMapNode オブジェクトの形式) へのインターフェイスとして機能します。プロバイダを追跡し、そこからサイト ナビゲーション データにアクセスして、Providers コレクションを公開します。プロバイダは、サイト マップ情報を任意の方法で格納できます。プロバイダで SiteMapProvider 抽象クラスが拡張されていれば、そこから SiteMap クラスを正常に初期化できます。
SiteMap クラスの既定のプロバイダは XmlSiteMapProvider クラスで、これは XML 構成ファイル Web.sitemap と組み合わせて使用します。ただし、独自の SiteMapProvider オブジェクトを作成して、それをサイト マップの初期化に使用できます。カスタム サイト マップ プロバイダの例については、「SiteMapProvider」を参照してください。
サイトのナビゲーション構成を管理する、既定のサイト マップ構成が指定されています。独自のサイト マップ プロバイダを作成する場合は、この構成を Web.config ファイルでオーバーライドできます。
SiteMap クラスは、パフォーマンスに関する静的メンバのみを提供します。このクラスには、特定のサイトから Web フォーム コントロールまたは Web サーバー コントロールを使用していつでもアクセスできます。

このセクションには、2 つのコード例が含まれています。最初のコード例では、Web.config ファイルでサイト マップ プロバイダを宣言する方法を示します。2 番目のコード例では、SiteMap オブジェクトを使用する方法を示します。
Web.config 構成セクションで XmlSiteMapProvider オブジェクトを既定の SiteMapProvider オブジェクトとして宣言する方法のコード例を次に示します。
<siteMap defaultProvider="MyXmlSiteMapProvider" enabled="true"> <providers> <add name="MyXmlSiteMapProvider" description="The site map provider that reads in the .sitemap XML files." type="System.Web.XmlSiteMapProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" siteMapFile="my.sitemap" /> </providers> </siteMap>
SiteMap オブジェクトの静的メンバにアクセスして、RootNode プロパティおよび CurrentNode プロパティに関する情報を表示する方法のコード例を次に示します。SiteMapPath コントロールにより表示される出力と比較してください。
<%@ 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 System.EventArgs) ' Examine the CurrentNode, and navigate the SiteMap relative to it. Response.Write(SiteMap.CurrentNode.Title & "<BR>") Response.Write("<FONT COLOR='red'>" & SiteMap.CurrentNode.Url & "</FONT><BR>") ' What nodes are children of the CurrentNode? If (SiteMap.CurrentNode.HasChildNodes) Then Dim childNodesEnumerator As IEnumerator = SiteMap.CurrentNode.ChildNodes.GetEnumerator() While (childNodesEnumerator.MoveNext()) ' Prints the Title of each node. Response.Write(childNodesEnumerator.Current.ToString() & "<BR>") End While End If Response.Write("<HR>") ' Examine the RootNode, and navigate the SiteMap relative to it. Response.Write(SiteMap.RootNode.Title & "<BR>") Response.Write(SiteMap.RootNode.Url & "<BR>") ' What nodes are children of the RootNode? If (SiteMap.RootNode.HasChildNodes) Then Dim rootNodesChildrenEnumerator As IEnumerator = SiteMap.RootNode.ChildNodes.GetEnumerator() While (rootNodesChildrenEnumerator.MoveNext()) ' Prints the Title of each node. Response.Write(rootNodesChildrenEnumerator.Current.ToString() & "<BR>") End While End If End Sub ' Page_Load </Script> <HTML> <body> <form id="Form1" runat="server"> <asp:SiteMapPath runat="server" ID="SiteMapPath1" ShowToolTips="false"/> </form> </body> </HTML>
<%@ 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) { // Examine the CurrentNode, and navigate the SiteMap relative to it. Response.Write(SiteMap.CurrentNode.Title + "<BR>"); Response.Write("<FONT COLOR='red'>" + SiteMap.CurrentNode.Url + "</FONT><BR>"); // What nodes are children of the CurrentNode? if (SiteMap.CurrentNode.HasChildNodes) { IEnumerator childNodesEnumerator = SiteMap.CurrentNode.ChildNodes.GetEnumerator(); while (childNodesEnumerator.MoveNext()) { // Prints the Title of each node. Response.Write(childNodesEnumerator.Current.ToString() + "<BR>"); } } Response.Write("<HR>"); // Examine the RootNode, and navigate the SiteMap relative to it. Response.Write(SiteMap.RootNode.Title + "<BR>"); Response.Write(SiteMap.RootNode.Url + "<BR>"); // What nodes are children of the RootNode? if (SiteMap.RootNode.HasChildNodes) { IEnumerator rootNodesChildrenEnumerator = SiteMap.RootNode.ChildNodes.GetEnumerator(); while (rootNodesChildrenEnumerator.MoveNext()) { // Prints the Title of each node. Response.Write(rootNodesChildrenEnumerator.Current.ToString() + "<BR>"); } } } </Script> <HTML> <body> <form id="Form1" runat="server"> <asp:SiteMapPath runat="server" ID="SiteMapPath1" ShowToolTips="false"/> </form> </body> </HTML>


System.Web.SiteMap


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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


SiteMap メンバ
System.Web 名前空間
SiteMapNode
SiteMapProvider
SiteMapNodeCollection
SiteMapProviderCollection
SiteMapPath
TreeView
その他の技術情報
ASP.NET サイト ナビゲーションの概要
ASP.NET サイト マップ
ASP.NET サイト ナビゲーション プロバイダ
SiteMap プロパティ

名前 | 説明 | |
---|---|---|
![]() | CurrentNode | 現在要求されているページを表す SiteMapNode コントロールを取得します。 |
![]() | Enabled | Web.config にサイト マップ プロバイダが指定されているかどうか、およびそれが有効かどうかを示すブール値を取得します。 |
![]() | Provider | 現在のサイト マップの既定の SiteMapProvider オブジェクトを取得します。 |
![]() | Providers | SiteMap クラスで使用可能な名前付き SiteMapProvider オブジェクトの読み取り専用コレクションを取得します。 |
![]() | RootNode | サイトのナビゲーション構造の最上位ページを表す SiteMapNode オブジェクトを取得します。 |

関連項目
SiteMap クラスSystem.Web 名前空間
SiteMapNode
SiteMapProvider
SiteMapNodeCollection
SiteMapProviderCollection
SiteMapPath
TreeView
その他の技術情報
ASP.NET サイト ナビゲーションの概要ASP.NET サイト マップ
ASP.NET サイト ナビゲーション プロバイダ
SiteMap メソッド

名前 | 説明 | |
---|---|---|
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 ( Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |

関連項目
SiteMap クラスSystem.Web 名前空間
SiteMapNode
SiteMapProvider
SiteMapNodeCollection
SiteMapProviderCollection
SiteMapPath
TreeView
その他の技術情報
ASP.NET サイト ナビゲーションの概要ASP.NET サイト マップ
ASP.NET サイト ナビゲーション プロバイダ
SiteMap メンバ
SiteMap クラスは、サイトのナビゲーション構造のインメモリ表現であり、1 つ以上のサイト マップ プロバイダにより提供されます。このクラスは継承できません。
SiteMap データ型で公開されるメンバを以下の表に示します。

名前 | 説明 | |
---|---|---|
![]() | CurrentNode | 現在要求されているページを表す SiteMapNode コントロールを取得します。 |
![]() | Enabled | Web.config にサイト マップ プロバイダが指定されているかどうか、およびそれが有効かどうかを示すブール値を取得します。 |
![]() | Provider | 現在のサイト マップの既定の SiteMapProvider オブジェクトを取得します。 |
![]() | Providers | SiteMap クラスで使用可能な名前付き SiteMapProvider オブジェクトの読み取り専用コレクションを取得します。 |
![]() | RootNode | サイトのナビゲーション構造の最上位ページを表す SiteMapNode オブジェクトを取得します。 |

名前 | 説明 | |
---|---|---|
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 (Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |


関連項目
SiteMap クラスSystem.Web 名前空間
SiteMapNode
SiteMapProvider
SiteMapNodeCollection
SiteMapProviderCollection
SiteMapPath
TreeView
その他の技術情報
ASP.NET サイト ナビゲーションの概要ASP.NET サイト マップ
ASP.NET サイト ナビゲーション プロバイダ
- siteMapのページへのリンク