ASP.NET実践:簡単なナビゲーションを追加

3400 ワード

開発者は、SiteMapPathTreeViewまたは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ファイル

  • WebサイトのルートディレクトリにファイルWebを作成する.sitemap.
  • 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サイトのナビゲーションをページに追加

  • WebサイトのルートディレクトリにファイルTrainingを作成する.aspx.
  • Traningを開く.aspxファイルに次のコードを追加します.
    
    
    <%@ 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>
    
    
  • ファイルを保存して閉じると、ブラウザでそのファイルを閲覧し、Webサイトのナビゲーション構造がどのように表示されているかを表示できます.

  • セキュリティ


    開発者は、ナビゲーション構造で特定のセキュリティロールメンバーに対応するリンク内容を非表示にすることもできます.