ASP.NET 2.0 - ナビゲーション(Navigation)
- 前のページ WebForms テンプレートページ
- 次のページ WebForms 例
ASP.NET 2.0 にはビルドインのナビゲーションコントロールがあります。
ウェブサイトナビゲーション
大規模なサイトのナビゲーションメニューのメンテナンスは難しく、時間がかかります。
ASP.NET 2.0 では、メニューをファイルに保存することができ、これによりメンテナンスがより簡単になります。このファイルの名前は通常、 web.sitemap、サイトのルートディレクトリに保存されています。
さらに、ASP.NET 2.0 には新しいナビゲーションコントロールが 3 種あります:
- Dynamic menus
- TreeViews
- Site Map パス
Sitemap ファイル
このチュートリアルでは以下の sitemap ファイルを使用しています(サイトマップ):
<?xml version="1.0" encoding="ISO-8859-1" ?> <siteMap> <siteMapNode title="Home" url="/aspnet/w3home.aspx"> <siteMapNode title="Services" url="/aspnet/w3services.aspx"> <siteMapNode title="Training" url="/aspnet/w3training.aspx"/> <siteMapNode title="Support" url="/aspnet/w3support.aspx"/> </siteMapNode> </siteMapNode> </siteMap>
sitemap ファイルの作成規則:
- XML ファイルは内容を囲む <siteMap> タグを含まなければなりません。
- <siteMap> タグは 1 つの <siteMapNode> サブノード("home" ページ)しか持てません。
- 各 <siteMapNode> は複数のサブノード(ウェブページ)を持つことができます。
- 各 <siteMapNode> はページタイトルと URL を定義する属性を持ちます。
注:sitemap ファイルはサイトのルートディレクトリに保存されなければなりません。URL 属性はそのルートディレクトリに対して相対的でなければなりません。
Dynamic Menu
<asp:Menu> コントロールは標準のサイトナビゲーションメニューを表示できます。
コード例:
<asp:SiteMapDataSource id="nav1" runat="server" /> <form runat="server"> <asp:Menu runat="server" DataSourceId="nav1" /> </form>
上記の例では <asp:Menu> コントロールサーバーがナビゲーションメニューを作成するためのプレースホルダです。
コントロールのデータソースは、 DataSourceId 属性を定義します。id="nav1" それを接続します。 <asp:SiteMapDataSource> コントロール。
<asp:SiteMapDataSource> コントロールはデフォルトの sitemap ファイルに自動的に接続されます(web.sitemap)。
TreeView
<asp:TreeView> コントロールは、階層的なナビゲーションメニューを表示できます。
このメニューは枝葉を持つ木のように見え、+または-シンボルで開閉できます。
コード例:
<asp:SiteMapDataSource id="nav1" runat="server" /> <form runat="server"> <asp:TreeView runat="server" DataSourceId="nav1" /> </form>
上記の例では、 <asp:TreeView> コントロールサーバーがナビゲーションメニューを作成するためのプレースホルダです。
コントロールのデータソースは、 DataSourceId 属性を定義します。id="nav1" それを接続します。 <asp:SiteMapDataSource> コントロール。
<asp:SiteMapDataSource> コントロールはデフォルトの sitemap ファイルに自動的に接続されます(web.sitemap)。
SiteMapPath
SiteMapPath コントロールは、現在のページへの指針(ナビゲーションパス)を表示できます。このパスは、上位ページへのクリック可能なリンクとして表示されます。
TreeView と Menu コントロールとは異なり、SiteMapPath コントロール使用しない SiteMapDataSource。SiteMapPath コントロールはデフォルトで web.sitemap ファイルを使用します。
ヒント:SiteMapPath が正しく表示されていない場合、web.sitemap ファイルに URL エラーがある可能性があります。
コード例:
<form runat="server"> <asp:SiteMapPath runat="server" /> </form>
上記の例では、 <asp:SiteMapPath> コントロールサーバーがナビゲーションメニューを作成するためのプレースホルダです。
- 前のページ WebForms テンプレートページ
- 次のページ WebForms 例