StaticSiteMapProvider.FindSiteMapNode(String) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
擷取 SiteMapNode 物件,其代表位於指定 URL 的頁面。
public:
override System::Web::SiteMapNode ^ FindSiteMapNode(System::String ^ rawUrl);
public override System.Web.SiteMapNode FindSiteMapNode (string rawUrl);
override this.FindSiteMapNode : string -> System.Web.SiteMapNode
Public Overrides Function FindSiteMapNode (rawUrl As String) As SiteMapNode
參數
- rawUrl
- String
URL,其可識別要擷取 SiteMapNode 的頁面。
傳回
表示 rawURL
所識別之網頁的 SiteMapNode,如果找不到對應的網站導覽節點,則為 null
。
例外狀況
rawURL
為 null
。
備註
提供的 URL 通常是虛擬或絕對 URL。 它也可以是使用 ASP.NET 應用程式相對語法的 URL,例如 "~/apprelativedirectory"
。 類別 StaticSiteMapProvider 會自動將應用程式相對原始 URL 正規化為絕對虛擬路徑。
XmlSiteMapProvider物件衍生自 StaticSiteMapProvider ,而且是 ASP.NET 的預設網站地圖提供者,預設會使用 Url 物件的 屬性 SiteMapNode 作為其內部集合中的查閱索引鍵。 如果 的 Url SiteMapNode 屬性已設定,它必須在網站地圖提供者的範圍內是唯一的。 方法 FindSiteMapNode 會嘗試根據其 Url 擷取網站地圖節點。 否則,您可以使用 Key 屬性和對應的 FindSiteMapNodeFromKey 方法來擷取網站地圖節點。 Url如果未指定 或 Key ,網站地圖提供者會自動產生 Key 屬性來追蹤網站地圖節點。
給繼承者的注意事項
在 FindSiteMapNode(String) 衍生類別中覆寫 方法時,請務必將您新增至網站地圖提供者之物件的 URL SiteMapNode 正規化,以便 FindSiteMapNode(String) 方法擷取網站地圖節點,而不論網站地圖節點的 URL 是否提供為絕對虛擬路徑或應用程式相對路徑。
安全性修剪行為包含在 SiteMapProvider 和 StaticSiteMapProvider 類別實作中。 不過,若要進行安全性調整以在衍生類別中運作,您必須在覆寫 BuildSiteMap() 方法時,設定 Roles 您在建置網站地圖提供者時所建立之任何 SiteMapNode 物件的 屬性。