SiteMapProvider.GetParentNodeRelativeToNodeAndHintDownFromParent Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Provides an optimized lookup method for site map providers when retrieving an ancestor node for the specified SiteMapNode object and fetching its child nodes.
public:
virtual System::Web::SiteMapNode ^ GetParentNodeRelativeToNodeAndHintDownFromParent(System::Web::SiteMapNode ^ node, int walkupLevels, int relativeDepthFromWalkup);
public virtual System.Web.SiteMapNode GetParentNodeRelativeToNodeAndHintDownFromParent (System.Web.SiteMapNode node, int walkupLevels, int relativeDepthFromWalkup);
abstract member GetParentNodeRelativeToNodeAndHintDownFromParent : System.Web.SiteMapNode * int * int -> System.Web.SiteMapNode
override this.GetParentNodeRelativeToNodeAndHintDownFromParent : System.Web.SiteMapNode * int * int -> System.Web.SiteMapNode
Public Overridable Function GetParentNodeRelativeToNodeAndHintDownFromParent (node As SiteMapNode, walkupLevels As Integer, relativeDepthFromWalkup As Integer) As SiteMapNode
Parameters
- node
- SiteMapNode
The SiteMapNode that acts as a reference point for walkupLevels
and relativeDepthFromWalkup
.
- walkupLevels
- Int32
The number of ancestor node levels to traverse when retrieving the requested ancestor node.
- relativeDepthFromWalkup
- Int32
The number of descendant node levels to retrieve from the target ancestor node.
Returns
A SiteMapNode that represents an ancestor of node
; otherwise, null
, if the current or ancestor SiteMapNode is not found or cannot be returned for the current user.
Exceptions
The value specified for walkupLevels
or relativeDepthFromWalkup
is less than 0.
node
is null
.
Remarks
The default implementation of the SiteMapProvider class provides a non-optimized implementation of the GetParentNodeRelativeToNodeAndHintDownFromParent method, calling the HintAncestorNodes and HintNeighborhoodNodes methods; however, site map providers can override the GetParentNodeRelativeToNodeAndHintDownFromParent method and provide an optimized implementation that uses custom caching mechanisms to return the ancestor node and perform an optimized lookup of the other SiteMapNode objects. The GetParentNodeRelativeToNodeAndHintDownFromParent method is very similar to the GetParentNodeRelativeToCurrentNodeAndHintDownFromParent method.
The walkupLevels
parameter is used to specify how many levels of parent and ancestor nodes to traverse when retrieving the target node. If fewer levels exist than are requested, null
is returned. The downLevel
parameter is used to specify how many levels of descendant nodes from the target ancestor node to retrieve. If preferred, the ancestor and descendant nodes can be linked to the SiteMapNode that is returned by the GetParentNodeRelativeToNodeAndHintDownFromParent method, using the ParentNode and ChildNodes properties. If there are fewer ancestor node levels than specified by the upLevel
parameter, null
is returned. It is up to the provider implementer to decide how to handle the situation where the number of available descendant node levels is less than the value that is specified by the downLevel
parameter.