ASP.NET実践:簡単なナビゲーションを追加
3400 ワード
開発者は、
ヒント:aspxページに含む
Webページでは、
ウェブサイトのナビゲーションコントロールを使用するには、Webでなければなりません.Sitemapファイルでは、Webサイトの構造について説明します.
WebサイトのルートディレクトリにファイルWebを作成する.sitemap. Webを開く.sitemapファイルを作成し、次のコードを追加します. ファイルを保存して閉じる.
WebサイトのルートディレクトリにファイルTrainingを作成する.aspx. Traningを開く.aspxファイルに次のコードを追加します. ファイルを保存して閉じると、ブラウザでそのファイルを閲覧し、Webサイトのナビゲーション構造がどのように表示されているかを表示できます.
開発者は、ナビゲーション構造で特定のセキュリティロールメンバーに対応するリンク内容を非表示にすることもできます.
SiteMapPath
・TreeView
またはMenu
コントロールを使用して、Webサイトのユーザーに一貫したナビゲーション方式を提供することができます.SiteMapPath
コントロールには、現在のページの場所とホームページに戻るパスを示すナビゲーションパスが表示されます(ノード間は特殊な記号で区切られています).ヒント:aspxページに含む
SiteMapPath
コントロールは、コントロールの正確な表示のために要求する.aspxページのパスもWebに記載する必要があります.sitemapファイルにあります.Webページでは、
SiteMapPath
コントロールは、ユーザーがページを閲覧したときに次のように表示されます.
Home > Services > Training
TreeView
コントロールに表示されるツリー構造は、Webサイトの異なるページ間でユーザーがジャンプするのを助けることができる.ノードをクリックすると、含まれるサブノードの内容が自動的に展開または縮小されます.TreeView
コントロールが初めて提示されると、すべてのコンテンツが展開される.WebページのTreeView
コントロールは次のように表示されます.
- Home
- Services
+ Training
Menu
コントロールに表示されるドロップダウンメニューは、Webサイトの異なるページ間でユーザーがジャンプできるようにします.マウスがメニュー項目を通過すると、含まれるサブノードの内容が展開されます.ウェブサイトのナビゲーションコントロールを使用するには、Webでなければなりません.Sitemapファイルでは、Webサイトの構造について説明します.
Webを作成する.sitemapファイル
<?xml version="1.0" encoding="utf-8" ?>
<siteMap>
<siteMapNode title="Home" >
<siteMapNode title="Services" >
<siteMapNode title="Training" url="~/Training.aspx"/>
</siteMapNode>
</siteMapNode>
</siteMap>
ヒント:存在しないURLをリストしたり、重複するURLをリストしたりすると、Webアプリケーションにエラーが発生します.パラメータurl
パスの先頭に特殊な「~/」記号を使用して、アプリケーションルートディレクトリが使用されていることを示すことができます.本明細書の後のセクションではTraningを作成する.aspxページ.Webサイトのナビゲーションをページに追加
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Simple Navigation Controls</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<h2>Using SiteMapPath</h2>
<asp:SiteMapPath ID="SiteMapPath1" Runat="server">
</asp:SiteMapPath>
<asp:SiteMapDataSource ID="SiteMapDataSource1" Runat="server" />
<h2>Using TreeView</h2>
<asp:TreeView ID="TreeView1" Runat="Server" DataSourceID="SiteMapDataSource1">
</asp:TreeView>
<h2>Using Menu</h2>
<asp:Menu ID="Menu2" Runat="server" DataSourceID="SiteMapDataSource1">
</asp:Menu>
<h2>Using a Horizontal Menu</h2>
<asp:Menu ID="Menu1" Runat="server" DataSourceID="SiteMapDataSource1"
Orientation="Horizontal"
StaticDisplayLevels="2" >
</asp:Menu>
</div>
</form>
</body>
</html>
セキュリティ
開発者は、ナビゲーション構造で特定のセキュリティロールメンバーに対応するリンク内容を非表示にすることもできます.