Web ページのチュートリアルlogin
Web ページのチュートリアル
著者:php.cn  更新時間:2022-04-11 14:20:28

Web フォームのナビゲーション



ASP.NET にはナビゲーション コントロールが組み込まれています。


ウェブサイト ナビゲーション

大規模なウェブサイトのメニューを維持するのは難しく、時間がかかります。

ASP.NET では、メニューをファイルに保存できるため、メンテナンスが容易になります。このファイルは通常、web.sitemapという名前で、Web サイトのルート ディレクトリに保存されます。

さらに、ASP.NET には 3 つのコア ナビゲーション コントロールがあります:

  • ダイナミック メニュー
  • TreeViews
  • サイト マップ パス

サイトマップ ファイル

このチュートリアルでは、次のサイトマップ ファイルを使用します。 ?xml バージョン="1.0" エンコーディング="ISO-8859-1" ?>

<サイトマップ>
​ <siteMapNode title="ホーム" url="/aspnet/w3home.aspx">
​ <siteMapNode title="サービス" url="/aspnet/w3services.aspx">
                  <siteMapNode title="トレーニング" url="/aspnet/w3training.aspx"/>
                  <siteMapNode title="サポート" url="/aspnet/w3support.aspx"/>
​ </siteMapNode>
​ </siteMapNode>
子ノード (「ホーム」ページ)

各 <siteMapNode> には複数の子ノード (Web ページ) を含めることができます
各 <siteMapNode> にはページのタイトルと URL を定義する属性があります

  • 注意:
  • sitemap ファイルはサイトのルートに配置する必要があり、URL プロパティはそのルートに相対的である必要があります。
  • 動的メニュー
  • <asp:Menu> コントロールは、標準のサイト ナビゲーション メニューを表示します。

コード例: lamp.gif

<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) に自動的に接続します。


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> コントロールは、デフォルトのサイトマップ ファイル (web.sitemap) に自動的に接続します。


SiteMapPath

SiteMapPath コントロールは、現在のページへのポインター (ナビゲーション パス) を表示します。パスは、親ページへのクリック可能なリンクとして表示されます。

TreeView コントロールや Menu コントロールとは異なり、SiteMapPath コントロールは SiteMapDataSource を使用しません。 SiteMapPath コントロールは、デフォルトで web.sitemap ファイルを使用します。

ヒント: SiteMapPath が正しく表示されない場合は、web.sitemap ファイル内の URL エラー (印刷エラー) が原因である可能性が高くなります。 lamp.gif

コード例:

<form runat="server">
<asp:SiteMapPath runat="server" />
</form>

< asp:SiteMapPath> コントロールは、サーバーがナビゲーション メニューを作成するためのプレースホルダーです。