SiteMapProvider.GetCurrentNodeAndHintNeighborhoodNodes(Int32, Int32) 方法

定义

在站点地图提供程序检索当前请求页的节点并获取当前节点附近的站点地图节点时,为其提供经优化的查找方法。

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

参数

upLevel
Int32

要获取的祖先 SiteMapNode 的代数。 0 指示不检索祖先节点,-1 指示提供程序可检索和缓存所有祖先节点。

downLevel
Int32

要获取的子 SiteMapNode 的代数。 0 指示不检索子代节点,-1 指示提供程序可检索和缓存所有子代节点。

返回

SiteMapNode

表示当前请求页的 SiteMapNode;否则,如果没有找到或不能为当前用户返回 SiteMapNode,则为 null

例外

upLeveldownLevel 小于 -1。

注解

该方法的默认实现 GetCurrentNodeAndHintNeighborhoodNodes 返回 CurrentNode 属性;但是,网站地图提供程序可以重写 GetCurrentNodeAndHintNeighborhoodNodes 该方法,并提供一个优化实现,该实现使用自定义缓存机制返回当前 SiteMapNode 对象,以及 SiteMapNode 接近当前 SiteMapNode对象的对象。

upLevel 参数用于指定要检索和缓存的父节点和上级节点的数量及其即时子级。 该 downLevel 参数用于指定要从当前 SiteMapNode 检索的后代节点的数量。 如果首选,则上级节点和后代节点可以链接到 SiteMapNode

GetCurrentNodeAndHintNeighborhoodNodes 方法,使用 ParentNodeChildNodes 属性。 如果上级节点级别或子节点级别少于upLevel``downLevel或指定级别,则只检索可用的级别。

XmlSiteMapProvider类是 ASP.NET 的默认站点地图提供程序,在内存中缓存整个站点地图,在查询XmlSiteMapProvider特定SiteMapNode对象时会产生很少或没有开销。

适用于

另请参阅