XmlSiteMapProvider 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
XmlSiteMapProvider 類別源自 SiteMapProvider 類別,是 ASP.NET 的預設網站地圖提供者。 該 XmlSiteMapProvider 類別會從副檔名為 .sitemap 的 XML 檔案產生站點地圖樹。
public ref class XmlSiteMapProvider : System::Web::StaticSiteMapProvider, IDisposable
public class XmlSiteMapProvider : System.Web.StaticSiteMapProvider, IDisposable
type XmlSiteMapProvider = class
inherit StaticSiteMapProvider
interface IDisposable
Public Class XmlSiteMapProvider
Inherits StaticSiteMapProvider
Implements IDisposable
- 繼承
- 實作
備註
該 XmlSiteMapProvider 類別會從遵循已知結構的 XML 檔案載入站點地圖資料。 網站地圖資料由標籤界定 <siteMap> ,並由巢 <siteMapNode> 狀標籤組成。 與SiteMapProvider類別對場地地圖資料的結構施加XmlSiteMapProvider了兩個限制:
根節點只能存在。
對於 SiteMapNode 指定 URL 的物件,這些 URL 必須在提供者的範圍內是唯一的。 (對於未指定 URL 的節點,所有鍵值必須是唯一的。)
以下程式碼範例展示了一個可與 XmlSiteMapProvider.
<siteMap>
<siteMapNode title="RootNode" description="This is the root node of the site map. There can be only one root node." url="Page1.aspx" >
<siteMapNode title="ChildofRootNode" description="Descriptions do not have to be unique." url="Page2.aspx">
<siteMapNode title="ChildOfChildNode" description="SiteMapNode objects can be nested to any level." url="Page3.aspx"/>
</siteMapNode>
<siteMapNode title="ChildofRootNode" description="Descriptions do not have to be unique." url="Page4.aspx"/>
</siteMapNode>
</siteMap>
XmlSiteMapProvider 是 ASP.NET 的預設提供者,它從位於 ASP.NET 應用程式目錄結構中的名為 Web.sitemap 的檔案讀取 XML 資料。 預設情況下,Web.sitemap 檔案位於應用程式根部;不過,如果你想更改載入資料的檔案 XmlSiteMapProvider 名稱或位置,可以覆寫 Web.config 檔案中的預設設定。 透過覆寫 Web.config 檔案中的預設設定,你可以根據需要調整每個 ASP.NET 應用程式的 XmlSiteMapProvider 行為。
以下程式碼範例展示了一個範例 Web.config 檔案,其中仍 XmlSiteMapProvider 使用該檔案,但使用的是不同的站點地圖檔案。 由於 SiteMapProviderCollection 物件中的所有提供者必須唯一命名,Web.config 檔案中指定的提供者名稱非預設,但同時也設定為預設提供者,以取代預設 ASP.NET 設定中指定的 XmlSiteMapProvider。
Note
你可以更改網站導覽資料檔的名稱,但無法更改副檔名。 XmlSiteMapProvider它只會讀取副檔名為 .sitemap 的檔案資料。
<siteMap defaultProvider="MyXmlSiteMapProvider" enabled="true">
<providers>
<add name="MyXmlSiteMapProvider"
description="SiteMap provider that reads in .sitemap files."
type="System.Web.XmlSiteMapProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
siteMapFile="CustomWeb.sitemap" />
</providers>
</siteMap>
建構函式
| 名稱 | Description |
|---|---|
| XmlSiteMapProvider() |
建立一個新的、未命名的類別實例 XmlSiteMapProvider 。 |
屬性
| 名稱 | Description |
|---|---|
| CurrentNode |
取得 SiteMapNode 代表當前請求頁面的物件。 |
| CurrentNode |
取得 SiteMapNode 代表當前請求頁面的物件。 (繼承來源 SiteMapProvider) |
| Description |
取得簡短且易記的描述,適合顯示在系統管理工具或其他使用者介面中。 (繼承來源 ProviderBase) |
| EnableLocalization |
取得或設定一個布林值,表示是否回傳屬性的局部化值 SiteMapNode 。 (繼承來源 SiteMapProvider) |
| Name |
取得組態期間用來參考提供者的易記名稱。 (繼承來源 ProviderBase) |
| ParentProvider |
取得或設定目前提供者的父 SiteMapProvider 物件。 (繼承來源 SiteMapProvider) |
| ResourceKey |
取得或設定用於屬性在地化 SiteMapNode 的資源鍵。 (繼承來源 SiteMapProvider) |
| RootNode |
取得網站地圖的根節點。 |
| RootProvider |
取得目前提供者階層中的根 SiteMapProvider 物件。 (繼承來源 SiteMapProvider) |
| SecurityTrimmingEnabled |
會獲得一個布林值,指示網站地圖提供者是否根據使用者角色過濾網站地圖節點。 (繼承來源 SiteMapProvider) |
方法
事件
| 名稱 | Description |
|---|---|
| SiteMapResolve |
當 CurrentNode 物業被叫回時發生。 (繼承來源 SiteMapProvider) |