ASP.NET Web フォーム - ナビゲーション
このセクションでは、主に ASP.NET Web サイトのナビゲーションとナビゲーション コントロールの使用方法を紹介します。ASP.NET にはナビゲーション コントロールが組み込まれています。
サイトナビゲーション
大規模な Web サイトのメニューを維持するのは難しく、時間がかかります。
ASP.NET では、メニューをファイルに保存できるため、メンテナンスが容易になります。このファイルは通常、 web.sitemapという名前で、Web サイトのルート ディレクトリに保存されます。
さらに、ASP.NET には 3 つの中央ナビゲーション コントロールがあります。
動的メニュー
ツリービュー
サイトマップのパス
サイトマップファイル
このチュートリアルでは、次のサイトマップ ファイルが使用されます。
<?xml version="1.0"coding="ISO-8859-1" ?><siteMap><siteMapNode url="/aspnet/w3home.aspx"><siteMapNode url="/aspnet/w3services.aspx"><siteMapNode url="/aspnet/w3training.aspx"/><siteMapNode url="/aspnet/w3support.aspx"/></siteMapNode></siteMapNode></siteMap>サイトマップ ファイルの作成ルール:
XML ファイルには、コンテンツを囲む <siteMap> タグが含まれている必要があります。
<siteMap> タグには、<siteMapNode> 子ノード (「ホーム」ページ) を 1 つだけ含めることができます。
各 <siteMapNode> は複数の子ノード (Web ページ) を持つことができます。
各 <siteMapNode> には、ページ タイトルと URL を定義する属性があります。
注:サイトマップ ファイルはサイトのルート ディレクトリに配置する必要があり、URL プロパティはそのルート ディレクトリを基準にする必要があります。
ダイナミックメニュー
<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>コントロールは、デフォルトのサイトマップ ファイル ( web.sitemap ) に自動的に接続します。
ツリービュー
<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>コントロールは、デフォルトのサイトマップ ファイル ( web.sitemap ) に自動的に接続します。
サイトマップパス
SiteMapPath コントロールは、現在のページへのポインター (ナビゲーション パス) を表示します。パスは、親ページへのクリック可能なリンクとして表示されます。
TreeView コントロールや Menu コントロールとは異なり、SiteMapPath コントロールは SiteMapDataSourceを使用しません。 SiteMapPath コントロールは、デフォルトで web.sitemap ファイルを使用します。
ヒント: SiteMapPath が正しく表示されない場合は、web.sitemap ファイル内の URL エラー (印刷エラー) が原因である可能性が高くなります。
コード例:
<form runat="server"><asp:SiteMapPath runat="server" /></form>上の例の<asp:SiteMapPath>コントロールは、サーバーがナビゲーション メニューを作成するためのプレースホルダーです。
上記は、ASP.NET ナビゲーションの使用に関するもので、Web サイトのナビゲーションを通じてページにすばやくアクセスできます。