ASP.NETは、組み込まれているナビゲーションコントロール
ウェブサイトナビゲーション
大規模なWebサイトのメニューを維持することは難しく、時間がかかります。
ASP.NETでは、メニューは維持やすくするために、ファイルに保存することができます。 このファイルは、通常と呼ばれweb.sitemap 、およびウェブのルートディレクトリに格納されています。
また、ASP.NETは3つの新しいナビゲーションコントロールがあります。
- ダイナミックメニュー
- ツリービュー
- サイトマップのパス
サイトマップファイル
下記のサイトマップファイルは、このチュートリアルで使用されています。
<?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>
サイトマップファイルを作成するためのルール:
- XMLファイルが含まれている必要があり<siteMap>コンテンツを囲むタグを
- <siteMap>タグには一つだけ持つことができます<siteMapNode>子ノード(the "home" page)
- 各<siteMapNode>いくつかの子ノード持つことができます(web pages)
- 各<siteMapNode>ページタイトルとURLを定義する属性を持っています
Note:サイトマップファイルは、Webのルートディレクトリに配置する必要がありますし、 URL属性は、ルートディレクトリからの相対でなければなりません。
動的メニュー
<asp:Menu>コントロールは、標準のサイトナビゲーションメニューが表示されます。
Code Example:
<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>コントロールが自動的にデフォルトのサイトマップファイルに接続する( web.sitemap )
メニュー、ツリービュー、およびSiteMapPathはのデモを見るにはここをクリック
ツリー表示
<asp:TreeView>コントロールは、マルチレベルのナビゲーションメニューが表示されます。
シンボル - メニューは+またはで開いたり閉じたりすることができます枝を持つツリーのように見えます。
Code Example:
<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>コントロールが自動的にデフォルトのサイトマップファイルに接続する( web.sitemap )
メニュー、ツリービュー、およびSiteMapPathはのデモを見るにはここをクリック
SiteMapPathは
SiteMapPathコントロールは、トレイル表示(navigation path)現在のページに。 パスは、前のページへのクリック可能なリンクとしての役割を果たします。
TreeViewコントロールとMenuコントロールとは異なり、SiteMapPathコントロールはないNOTのSiteMapDataSourceを使用します。 SiteMapPathコントロールは、デフォルトでweb.sitemapファイルを使用しています。
ヒント:SiteMapPathはが正しく表示されない場合は、最も可能性の高いURLエラーがある(typo) web.sitemapファイルインチ
Code Example:
<form runat="server">
<asp:SiteMapPath runat="server" />
</form>
<asp:SiteMapPath>上記の例では、制御サイトパス表示作成したサーバーのプレースホルダーです。
メニュー、ツリービュー、およびSiteMapPathはのデモを見るにはここをクリック