共用方式為


ASP.NET 網站巡覽概觀

更新:2007 年 11 月

您可以使用 ASP.NET 站台巡覽功能提供使用者一致的方式巡覽您的站台。隨著您的站台成長,或是當您在站台中移動頁面時,要管理所有的連結就變得很困難。ASP.NET 站台巡覽能夠讓您將所有頁面的連結儲存到中心位置,然後藉由包含特定 Web 伺服器控制項,在每個頁面的清單或巡覽功能表中呈現這些連結。

為了替站台建立一致而容易管理的巡覽方案,您可以使用 ASP.NET 站台巡覽。ASP.NET 站台巡提供下列功能:

  • 網站導覽:您可以使用網站導覽描述站台的邏輯結構。然後您可以在加入或移除頁面時,修改網站導覽以管理頁面巡覽,而不用修改所有 Web 網頁中的超連結。

  • ASP.NET 控制項:您可以使用 ASP.NET 控制項顯示 Web 網頁上的巡覽功能表。巡覽功能表是根據網站導覽而產生。

  • 程式設計控制項:您可以在程式碼中使用 ASP.NET 站台巡覽建立自訂巡覽控制項,或修改巡覽功能表中顯示的資訊位置。

  • 存取規則:您可以設定存取規則以顯示或隱藏巡覽功能表中的連結。

  • 自訂網站導覽提供者:您可以建立自訂的網站導覽提供者,可讓您使用自己的網站導覽後端 (Back End) (例如,儲存連結資訊的資料庫),然後將提供者插入 ASP.NET 站台巡覽系統中。

站台巡覽運作方式

當使用 ASP.NET 站台巡覽時,會以階層架構方式描述站台的配置。例如,虛構的線上電腦商店站台可能是由八個頁面所組成,並且以下列方式配置。

Home
   Products
      Hardware
      Software
   Services
      Training
      Consulting
      Support

若要使用站台巡覽,一開始先建立網站導覽,或是建立站台的表示方式。您可以在 XML 檔案中描述站台的階層架構,但是也可以使用其他選項。如需詳細資訊和範例,請參閱 ASP.NET 網站導覽

在建立網站導覽後,您可以使用站台巡覽控制項在 ASP.NET 頁面上顯示巡覽結構。如需範例,請參閱 HOW TO:加入簡單的網站巡覽

網站導覽載入程序

預設的 ASP.NET 網站導覽提供者會將網站導覽資料當做 XML 文件載入,並且在應用程式啟動時將其快取為靜態資料。非常大的網站導覽檔案會在載入時使用大量記憶體和 CPU 資源。ASP.NET 站台巡覽功能是依照檔案告知而定,將巡覽資料保持在最新狀態。當網站導覽檔案變更時,ASP.NET 會重新載入網站導覽資料。請確定將任何病毒掃瞄軟體設定為不會修改網站導覽檔案。如需詳細資訊,請參閱設定 ASP.NET 網站巡覽的安全性

站台巡覽控制項

建立反映站台結構的網站導覽是 ASP.NET 站台巡覽系統的一部分。其他部分是顯示 ASP.NET Web 網頁中的巡覽結構,以便讓使用者能夠輕易在站台內移動。您可以使用下列 ASP.NET 站台巡覽控制項,在頁面上輕鬆建置巡覽。

  • SiteMapPath 這個控制項會顯示巡覽路徑 (也稱為 Breadcrumb 或 Eyebrow),將目前的頁面位置以及返回首頁的路徑連結顯示給使用者。控制項提供許多自訂連結外觀的選項。

  • TreeView 這個控制項會顯示使用者能夠周遊至站台中不同頁面的樹狀結構或功能表。按一下包含子節點的節點,便可展開或摺疊該節點。

  • Menu 這個控制項會顯示使用者能夠周遊至站台中不同頁面的可展開功能表。當指標停留在功能表上時,就會展開包含子節點的節點。

如果您從前面範例中的線上電腦商店,將 SiteMapPath 控制項加入至 Training 頁面,則 SiteMapPath 控制項會顯示類似下列的資訊,並且使用超連結顯示 Home 和 Service。

Home > Services > Training

您可以在不使用程式碼和明確資料繫結的情況下,使用 SiteMapPath 控制項建立站台巡覽。控制項可以自動讀取和轉譯網站導覽資訊。但是如有必要,您也可以使用程式碼自訂 SiteMapPath 控制項。如需範例,請參閱 HOW TO:在記憶體中以程式設計方式修改網站導覽節點

SiteMapPath 控制項可以讓使用者從目前的頁面,向後巡覽至階層架構中較高層的頁面。但是,SiteMapPath 控制項則不讓您從目前的頁面,向前巡覽至階層架構中較深層的其他頁面。當使用者想要在新聞群組或訊息區應用程式中看到所瀏覽文件的路徑時,SiteMapPath 控制項就很有用。

使用者能夠使用 TreeViewMenu 控制項開啟節點,並且直接巡覽至特定頁面。這些控制項不會像 SiteMapPath 控制項一樣直接讀取網站導覽。而是將可以讀取網站導覽的 SiteMapDataSource 控制項加入至頁面。然後將 TreeViewMenu 控制項繫結至 SiteMapDataSource 控制項,而導致網站導覽呈現在頁面上。TreeView 控制項會顯示類似下列的資訊:

- 首頁

   - 服務

+ 訓練

注意事項:

有一個簡易方式能夠顯示站台中所有頁面上的 SiteMapPathTreeViewMenu 控制項,就是建立主版頁面然後將控制項加入至該頁面。如需詳細資訊,請參閱 ASP.NET 主版頁面概觀

站台巡覽 API

您可以使用巡覽控制項,在搭配少許或不使用程式碼的情況下,將站台巡覽加入至頁面,但是您也可以透過程式方式使用站台巡覽。當 Web 應用程式執行時,ASP.NET 會公開反映網站導覽結構的 SiteMap 物件。SiteMap 物件的所有成員都是靜態的。SiteMap 物件則是會公開包含導覽中每個節點屬性的 SiteMapNode 物件集合。(當您使用 SiteMapPath 控制項時,控制項會使用 SiteMapSiteMapNode 物件自動呈現正確的連結)。

您可以在自己的程式碼中使用 SiteMapSiteMapNodeSiteMapProvider 物件,周遊網站導覽結構或是建立自訂控制項以顯示網站導覽資料。您無法寫入網站導覽,但是可以在物件的執行個體中改變網站導覽節點。如需詳細資訊,請參閱 HOW TO:在記憶體中以程式設計方式修改網站導覽節點HOW TO:以程式設計方式列舉 Site-Map 節點

站台巡覽元件之間的關聯性

下列圖例顯示 ASP.NET 站台巡覽元件之間的關聯性。

請參閱

工作

HOW TO:以程式設計方式列舉 Site-Map 節點

概念

ASP.NET 網站導覽

設定 ASP.NET 網站巡覽的安全性

設定資料存取的安全性

其他資源

裝載環境中 ASP.NET 應用程式的安全性