最新のWeb開発のチュートリアル
 

ASP.NET Webフォーム - ナビゲーション


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はのデモを見るにはここをクリック