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使用的 XML 檔案範例。
<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 的預設提供者,它會從名為 Web.sitemap 的檔案讀取 XML 數據,該檔案位於 ASP.NET 應用程式的目錄結構內。 根據預設,Web.sitemap 檔案位於應用程式根目錄;不過,如果您想要變更加載數據所在 XmlSiteMapProvider 檔案的名稱或位置,您可以在 Web.config 檔案中覆寫預設組態。 藉由覆寫 Web.config 檔案中的預設組態設定,您可以視需要針對每個 ASP.NET 應用程式量身 XmlSiteMapProvider 訂做 的行為。
下列程式代碼範例示範範例 Web.config 檔案,其中 XmlSiteMapProvider 仍使用 ,但使用不同的網站地圖檔案。 由於物件中的所有 SiteMapProviderCollection 提供者都必須唯一命名,所以在 Web.config 檔案中指定的提供者會使用預設以外的名稱,但也會設定為預設提供者,以便使用它,而不是 XmlSiteMapProvider 在預設 ASP.NET 組態中指定的 。
注意
您可以變更網站導覽數據檔的名稱,但無法變更其擴展名。 唯 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>
建構函式
XmlSiteMapProvider() |
建立 XmlSiteMapProvider 類別的未命名新執行個體。 |
屬性
CurrentNode |
取得代表目前所要求頁面的 SiteMapNode 物件。 |
CurrentNode |
取得代表目前所要求頁面的 SiteMapNode 物件。 (繼承來源 SiteMapProvider) |
Description |
取得簡短、易讀的描述,適合顯示在管理工具或其他使用者介面 (UI) 中。 (繼承來源 ProviderBase) |
EnableLocalization |
取得或設定布林值,指出是否傳回 SiteMapNode 屬性的當地語系化值。 (繼承來源 SiteMapProvider) |
Name |
取得用來在設定期間代表提供者的易記名稱。 (繼承來源 ProviderBase) |
ParentProvider |
取得或設定目前提供者的父代 SiteMapProvider 物件。 (繼承來源 SiteMapProvider) |
ResourceKey |
取得或設定用來當地語系化 SiteMapNode 屬性的資源索引鍵。 (繼承來源 SiteMapProvider) |
RootNode |
取得網站地圖的根節點。 |
RootProvider |
取得目前提供者階層架構中的根 SiteMapProvider 物件。 (繼承來源 SiteMapProvider) |
SecurityTrimmingEnabled |
取得布林值,指出網站導覽提供者是否根據使用者的角色篩選網站導覽節點。 (繼承來源 SiteMapProvider) |
方法
事件
SiteMapResolve |
呼叫 CurrentNode 屬性時發生。 (繼承來源 SiteMapProvider) |