ASP.NETナビゲーション
内蔵のナビゲーションコントロールとASP.NET。
サイトナビゲーション
大規模なサイトのメンテナンスが困難で時間のかかるメニューです。
ASP.NETでは、メニューは維持しやすいので、ファイルに格納することができます。 一般的にweb.sitemapという名前のファイル、およびサイトのルートディレクトリに格納されています。
また、ASP.NETには、3つのコアのナビゲーションコントロールがあります。
- ダイナミックメニュー
- ツリービュー
- サイトマップのパス
サイトマップファイル
このチュートリアルでは、以下のサイトマップファイルを使用します。
<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ドキュメントは、<サイトマップ>タグの内容について含まれている必要があります
- <サイトマップ>タグは、一つだけ<のSiteMapNode>子ノード(「ホーム」ページ)を持つことができます
- 各<のSiteMapNode>複数の子ノード(ウェブ)を有することができます
- プロパティを持つ各<のSiteMapNode>は、ページのタイトルとURLを定義します
注:サイトマップファイルは、サイトのルートディレクトリに配置する必要があり、URLの属性はルートディレクトリに相対的でなければなりません。
動的メニュー
<のAsp:メニュー>コントロールは、標準的なサイトナビゲーションメニューが表示されます。
コード例:
<form runat="server">
<asp:Menu runat="server" DataSourceId="nav1" />
</form>
上記の例では、<ASP:メニュー>コントロールは、サーバー作成ナビゲーションメニューのプレースホルダです。
データソースはDataSourceId属性の定義を制御します。<:のSiteMapDataSource ASP>コントロールに接続するためのid = "NAV1"データソース。
<ASP:のSiteMapDataSource>コントロールは自動的にデフォルトのサイトマップファイル(web.sitemap)に接続します。
ツリービュー
<のAsp:TreeViewコントロール>コントロールは、マルチレベルのナビゲーションメニューが表示されます。
記号を開いたり閉じたりする - このメニューには、+または支店を持つツリーのように見えます。
コード例:
<form runat="server">
<asp:TreeView runat="server" DataSourceId="nav1" />
</form>
上記の例では、<ASP:TreeViewコントロール>コントロールは、サーバー作成ナビゲーションメニューのプレースホルダです。
データソースはDataSourceId属性の定義を制御します。<:のSiteMapDataSource ASP>コントロールに接続するためのid = "NAV1"データソース。
<ASP:のSiteMapDataSource>コントロールは自動的にデフォルトのサイトマップファイル(web.sitemap)に接続します。
SiteMapPathは
SiteMapPathコントロールは、現在のページのポインタ(ナビゲーションパス)が表示されます。 パスは、親ページを指すように表示されるリンクをクリックすることができます。
別のコントロールのツリービューやメニューでは、SiteMapPathコントロールは、のSiteMapDataSourceを使用していません 。 SiteMapPathコントロールのweb.sitemapのデフォルトのファイル。
ヒント:SiteMapPathはが原因でURLのエラー(印刷エラー)web.sitemapファイルの存在のために、正しく表示され、最も可能性の高いされていない場合。
コード例:
<asp:SiteMapPath runat="server" />
</form>
上記の例では、<ASP:SiteMapPathは>制御サーバに作成ナビゲーションメニューのプレースホルダです。