IHierarchyData.GetChildren IHierarchyData.GetChildren IHierarchyData.GetChildren IHierarchyData.GetChildren Method

Definition

Ruft ein Enumerationsobjekt ab, das alle untergeordneten Knoten des aktuellen hierarchischen Knotens darstellt.Gets an enumeration object that represents all the child nodes of the current hierarchical node.

public:
 System::Web::UI::IHierarchicalEnumerable ^ GetChildren();
public System.Web.UI.IHierarchicalEnumerable GetChildren ();
abstract member GetChildren : unit -> System.Web.UI.IHierarchicalEnumerable
Public Function GetChildren () As IHierarchicalEnumerable

Gibt zurück

Eine IHierarchicalEnumerable-Auflistung von untergeordneten Knoten des aktuellen hierarchischen Knotens.An IHierarchicalEnumerable collection of child nodes of the current hierarchical node.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie die HasChildren -Eigenschaft überprüft wird, um zu bestimmen, ob der aktuelle hierarchische Datenknoten über unter GetChildren geordnete Knoten verfügt, und diese mithilfe der-Methode abzurufen.The following code example demonstrates how to check the HasChildren property to determine whether the current hierarchical data node has child nodes, and retrieve them using the GetChildren method. Dieses Codebeispiel ist Teil eines größeren Beispiels, das für die IHierarchyData -Schnittstelle bereitgestellt wird.This code example is part of a larger example provided for the IHierarchyData interface.

// Print out the current data node, then iterate through its
// children and do the same.
private void PrintFullChildNodeInfo(IHierarchyData node)
{
    string whitespace = "     ";
    string br = "<BR>";

    Response.Write(node.ToString() + br);
    Response.Write(whitespace + node.Path + br);

    // Check for specific types and perform extended functions.
    if (node.Type == "SiteMapNode")
    {
        // Because SiteMapNode implements the IHierarchyData interface,
        // the IHierarchyData object can be cast directly as a SiteMapNode,
        // rather than accessing the Item property for the object that
        // the Type property identifies.
        SiteMapNode siteNode = node.Item as SiteMapNode;
        Response.Write(whitespace + siteNode.Url + br);
        Response.Write(whitespace + siteNode.Description + br);
    }
    else if (node.Type == "SomeBusinessObject")
    {
        // If the IHierarchyData instance is a wrapper class on a business
        // object of some kind, you can retrieve the business object by using
        // the IHierarchyData.Item property.
        //          SomeBusinessObject busObj = node.Item as SomeBusinessObject;
    }

    if (node.HasChildren)
    {
        IEnumerator children = ((IHierarchicalEnumerable)node.GetChildren()).GetEnumerator();

        while (children.MoveNext())
        {
            // Print out SiteMapNode Titles recursively.
            IHierarchyData hierarchicalNode = node.GetChildren().GetHierarchyData(children.Current);
            PrintFullChildNodeInfo(hierarchicalNode);
        }
    }
}
' Print out the current data node, then iterate through its
' children and do the same.

Private Sub PrintFullChildNodeInfo(ByVal node As IHierarchyData)
    Dim whitespace As String = "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"
    Dim br As String = "<BR>"

    Response.Write(Convert.ToString(node) & br)
    Response.Write(whitespace & node.Path & br)

    ' Check for specific types and perform extended functions.
    If node.Type = "SiteMapNode" Then
        ' Because SiteMapNode implements the IHierarchyData interface,
        ' the IHierarchyData object can be cast directly as a SiteMapNode,
        ' rather than accessing the Item property for the object that
        ' the Type property identifies.
        Dim siteNode As SiteMapNode = CType(node.Item, SiteMapNode)
        Response.Write(whitespace & siteNode.Url & br)
        Response.Write(whitespace & siteNode.Description & br)

    ElseIf node.Type = "SomeBusinessObject Then" Then
        ' If the IHierarchyData instance is a wrapper class on a business
        ' object of some kind, you can retrieve the business object by using
        ' the IHierarchyData.Item property.
        '          SomeBusinessObject busObj = node.Item as SomeBusinessObject;
    End If

    If node.HasChildren Then
        Dim children As IEnumerator = CType(node.GetChildren().GetEnumerator(), IHierarchicalEnumerable)
        While children.MoveNext()
            ' Print out SiteMapNode Titles recursively.
            Dim hierarchicalNode As IHierarchyData = node.GetChildren().GetHierarchyData(children.Current)
            PrintFullChildNodeInfo(hierarchicalNode)
        End While
    End If
End Sub

Hinweise

Sie können die HasChildren -Eigenschaft verwenden, um zu IHierarchyData bestimmen, ob der Knoten über untergeordnete Knoten verfügt.You can use the HasChildren property to determine whether the IHierarchyData node has child nodes.

Gilt für:

Siehe auch