SiteMapNodeCollection Class

Definition

Provides a strongly typed collection for SiteMapNode objects and implements the IHierarchicalEnumerable interface to support navigating through the collection.

public ref class SiteMapNodeCollection : System::Collections::IList, System::Web::UI::IHierarchicalEnumerable
public class SiteMapNodeCollection : System.Collections.IList, System.Web.UI.IHierarchicalEnumerable
type SiteMapNodeCollection = class
    interface IHierarchicalEnumerable
    interface IEnumerable
    interface IList
    interface ICollection
Public Class SiteMapNodeCollection
Implements IHierarchicalEnumerable, IList
Inheritance
SiteMapNodeCollection
Implements

Examples

The following code example demonstrates how to create a SiteMapNodeCollection collection, and then add SiteMapNode objects to it using the AddRange method. The SiteMapNodeCollection is a subset of the current site map, showing only the first two hierarchical levels.


// Create a SiteMapNodeCollection with all the nodes
// from the first two hierarchical levels of the current
// site map.
SiteMapNodeCollection baseCollection =
    new SiteMapNodeCollection(SiteMap.RootNode);

SiteMapNodeCollection childCollection =
    SiteMap.RootNode.ChildNodes;

baseCollection.AddRange(childCollection);

Response.Write( "<BR>Derived SiteMapNodeCollection.<BR><HR><BR>");
foreach (SiteMapNode node in baseCollection) {
    Response.Write( node.Title + "<BR>");
}

' Create a SiteMapNodeCollection with all the nodes
' from the first two hierarchical levels of the current
' site map.
Dim baseCollection As SiteMapNodeCollection
baseCollection = New SiteMapNodeCollection(SiteMap.RootNode)

Dim childCollection As SiteMapNodeCollection = SiteMap.RootNode.ChildNodes

baseCollection.AddRange(childCollection)

Response.Write( "<BR>Derived SiteMapNodeCollection.<BR><HR><BR>")

For Each node In baseCollection
    Response.Write( node.Title + "<BR>")
Next

Remarks

The SiteMapNodeCollection class provides a strongly typed collection for SiteMapNode objects. It stores SiteMapNode objects internally in a zero-based array.

You can modify a SiteMapNodeCollection collection when it is first created, and then use the following methods to add, copy, and remove SiteMapNode objects:

You can create a read-only SiteMapNodeCollection, which does not permit adding, copying, nor removing SiteMapNode objects, by using the static ReadOnly method. The SiteMapNodeCollection collections that are returned by the SiteMapNode.GetAllNodes and GetChildren methods are read-only, as is the SiteMapNodeCollection that is returned when the ChildNodes property is accessed on a SiteMapNode object that is returned from a provider. A NotSupportedException exception is thrown, if you attempt to modify a read-only SiteMapNodeCollection by setting the default indexer property or by using any of the following methods:

Use the IsReadOnly property to check the collection before calling any of the methods in the preceding list.

Constructors

SiteMapNodeCollection()

Initializes a new instance of the SiteMapNodeCollection class, which is the default instance.

SiteMapNodeCollection(Int32)

Initializes a new instance of the SiteMapNodeCollection class with the specified initial capacity.

SiteMapNodeCollection(SiteMapNode)

Initializes a new instance of the SiteMapNodeCollection class and adds the SiteMapNode object to the InnerList property for the collection.

SiteMapNodeCollection(SiteMapNode[])

Initializes a new instance of the SiteMapNodeCollection class and adds the array of type SiteMapNode to the InnerList property for the collection.

SiteMapNodeCollection(SiteMapNodeCollection)

Initializes a new instance of the SiteMapNodeCollection class and adds all the list items of the specified SiteMapNodeCollection collection to the InnerList property for the collection.

Properties

Count

Gets the number of elements contained in the collection.

IsFixedSize

Gets a Boolean value indicating whether nodes can be added to or subtracted from the collection.

IsReadOnly

Gets a Boolean value indicating whether the collection is read-only.

IsSynchronized

Gets a Boolean value indicating whether access to the collection is synchronized (thread safe).

Item[Int32]

Gets or sets the SiteMapNode object at the specified index in the collection.

SyncRoot

Gets an object that can be used to synchronize access to the collection.

Methods

Add(SiteMapNode)

Adds a single SiteMapNode object to the collection.

AddRange(SiteMapNode[])

Adds an array of type SiteMapNode to the collection.

AddRange(SiteMapNodeCollection)

Adds the nodes in the specified SiteMapNodeCollection to the current collection.

Clear()

Removes all items from the collection.

Contains(SiteMapNode)

Determines whether the collection contains a specific SiteMapNode object.

CopyTo(SiteMapNode[], Int32)

Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array.

Equals(Object)

Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetDataSourceView(SiteMapDataSource, String)

Retrieves the SiteMapDataSourceView object that is associated with the nodes in the current collection.

GetEnumerator()

Retrieves a reference to an enumerator object, which is used to iterate over the collection.

GetHashCode()

Serves as the default hash function.

(Inherited from Object)
GetHierarchicalDataSourceView()

Retrieves the SiteMapHierarchicalDataSourceView object that is associated with the nodes in the current collection.

GetHierarchyData(Object)

Returns a hierarchical data item for the specified enumerated item.

GetType()

Gets the Type of the current instance.

(Inherited from Object)
IndexOf(SiteMapNode)

Searches for the specified SiteMapNode object, and then returns the zero-based index of the first occurrence within the entire collection.

Insert(Int32, SiteMapNode)

Inserts the specified SiteMapNode object into the collection at the specified index.

MemberwiseClone()

Creates a shallow copy of the current Object.

(Inherited from Object)
OnValidate(Object)

Performs additional custom processes when validating a value.

ReadOnly(SiteMapNodeCollection)

Returns a read-only collection that contains the nodes in the specified SiteMapNodeCollection collection.

Remove(SiteMapNode)

Removes the specified SiteMapNode object from the collection.

RemoveAt(Int32)

Removes the SiteMapNode object at the specified index of the collection.

ToString()

Returns a string that represents the current object.

(Inherited from Object)

Explicit Interface Implementations

ICollection.CopyTo(Array, Int32)

Copies the elements of the ICollection interface to an array, starting at a particular array index. This class cannot be inherited.

ICollection.Count

Gets the number of elements that are contained in the ICollection interface. This class cannot be inherited.

ICollection.IsSynchronized

Gets a Boolean value indicating whether access to the ICollection interface is synchronized (thread safe). This class cannot be inherited.

ICollection.SyncRoot

Gets an object that can be used to synchronize access to the ICollection interface. This class cannot be inherited.

IEnumerable.GetEnumerator()

Returns an enumerator that iterates through a collection. For a description of this member, see GetEnumerator().

IHierarchicalEnumerable.GetHierarchyData(Object)

Returns a hierarchical data item for the specified enumerated item. For a description of this member, see GetHierarchyData(Object).

IList.Add(Object)

Adds an item to the collection in the IList interface. For a description of this member, see Add(Object).

IList.Clear()

Removes all items from the collection in the IList interface. For a description of this member, see Clear().

IList.Contains(Object)

Determines whether the collection in the IList interface contains the specified Boolean value.

IList.IndexOf(Object)

Determines the index of the specific item in the collection that is returned by the IList interface. For a description of this member, see IndexOf(Object).

IList.Insert(Int32, Object)

Inserts an item into the collection in the IList interface at the specified index. For a description of this member, see Insert(Int32, Object).

IList.IsFixedSize

Gets a Boolean value indicating whether the collection has a fixed size. For a description of this member, see IsFixedSize.

IList.IsReadOnly

Gets a Boolean value indicating whether the collection is read-only. For a description of this member, see IsReadOnly.

IList.Item[Int32]

Gets the IList element at the specified index.

IList.Remove(Object)

Removes the first occurrence of a specified object from the collection in the IList interface. For a description of this member, see Remove(Object).

IList.RemoveAt(Int32)

Removes the IList item at the specified index. For a description of this member, see RemoveAt(Int32).

Extension Methods

Cast<TResult>(IEnumerable)

Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

Enables parallelization of a query.

AsQueryable(IEnumerable)

Converts an IEnumerable to an IQueryable.

Applies to

See also