次の方法で共有


SiteMapProvider.GetCurrentNodeAndHintAncestorNodes(Int32) メソッド

定義

現在要求されているページのノードを取得し、現在のページの親サイト マップ ノードと先祖サイト マップ ノードをフェッチするときに、サイト マップ プロバイダー用に最適化された検索方法を提供します。

public:
 virtual System::Web::SiteMapNode ^ GetCurrentNodeAndHintAncestorNodes(int upLevel);
public virtual System.Web.SiteMapNode GetCurrentNodeAndHintAncestorNodes(int upLevel);
abstract member GetCurrentNodeAndHintAncestorNodes : int -> System.Web.SiteMapNode
override this.GetCurrentNodeAndHintAncestorNodes : int -> System.Web.SiteMapNode
Public Overridable Function GetCurrentNodeAndHintAncestorNodes (upLevel As Integer) As SiteMapNode

パラメーター

upLevel
Int32

取得する先祖サイト マップ ノードの世代の数。 -1 の値は、すべての先祖がプロバイダーによって取得およびキャッシュされる可能性があることを示します。

戻り値

現在要求されているページを表す SiteMapNode 。それ以外の場合は、 nullSiteMapNode が見つからないか、現在のユーザーに対して返すことができません。

例外

upLevel が -1 未満です。

注釈

GetCurrentNodeAndHintAncestorNodes メソッドの既定の実装では、CurrentNode プロパティが返されます。ただし、サイト マップ プロバイダーは、GetCurrentNodeAndHintAncestorNodes メソッドをオーバーライドし、カスタム キャッシュ メカニズムを使用して現在のSiteMapNodeを返す最適化された実装と、親の親ノードと先祖ノードを提供できます。

upLevel パラメーターは、取得する親ノードと先祖ノードのレベルの数を指定するために使用されます。 必要に応じて、親ノードと先祖ノードを、ParentNode プロパティを使用して、GetCurrentNodeAndHintAncestorNodes メソッドによって返されるSiteMapNode オブジェクトにリンクできます。

ASP.NET の既定のサイト マップ プロバイダーである XmlSiteMapProvider クラスは、サイト マップ全体をメモリにキャッシュします。そのため、特定のSiteMapNode オブジェクトに対してXmlSiteMapProviderに対してクエリを実行するときにオーバーヘッドがほとんどまたはまったく発生しません。

適用対象

こちらもご覧ください