1 out of 1 rated this helpful - Rate this topic

SiteMapNodeCollection Class

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

System.Object
  System.Web.SiteMapNodeCollection

Namespace:  System.Web
Assembly:  System.Web (in System.Web.dll)
public class SiteMapNodeCollection : IHierarchicalEnumerable, 
	IList, ICollection, IEnumerable

The SiteMapNodeCollection type exposes the following members.

  Name Description
Public method SiteMapNodeCollection() Initializes a new instance of the SiteMapNodeCollection class, which is the default instance.
Public method SiteMapNodeCollection(Int32) Initializes a new instance of the SiteMapNodeCollection class with the specified initial capacity.
Public method SiteMapNodeCollection(SiteMapNode) Initializes a new instance of the SiteMapNodeCollection class and adds the SiteMapNode object to the InnerList property for the collection.
Public method SiteMapNodeCollection(SiteMapNode[]) Initializes a new instance of the SiteMapNodeCollection class and adds the array of type SiteMapNode to the InnerList property for the collection.
Public method 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.
Top
  Name Description
Public property Count Gets the number of elements contained in the collection.
Public property IsFixedSize Gets a Boolean value indicating whether nodes can be added to or subtracted from the collection.
Public property IsReadOnly Gets a Boolean value indicating whether the collection is read-only.
Public property IsSynchronized Gets a Boolean value indicating whether access to the collection is synchronized (thread safe).
Public property Item Gets or sets the SiteMapNode object at the specified index in the collection.
Public property SyncRoot Gets an object that can be used to synchronize access to the collection.
Top
  Name Description
Public method Add Adds a single SiteMapNode object to the collection.
Public method AddRange(SiteMapNode[]) Adds an array of type SiteMapNode to the collection.
Public method AddRange(SiteMapNodeCollection) Adds the nodes in the specified SiteMapNodeCollection to the current collection.
Public method Clear Removes all items from the collection.
Public method Contains Determines whether the collection contains a specific SiteMapNode object.
Public method CopyTo Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array.
Public method Equals(Object) Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected method Finalize Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method GetDataSourceView Retrieves the SiteMapDataSourceView object that is associated with the nodes in the current collection.
Public method GetEnumerator Retrieves a reference to an enumerator object, which is used to iterate over the collection.
Public method GetHashCode Serves as a hash function for a particular type. (Inherited from Object.)
Public method GetHierarchicalDataSourceView Retrieves the SiteMapHierarchicalDataSourceView object that is associated with the nodes in the current collection.
Public method GetHierarchyData Returns a hierarchical data item for the specified enumerated item.
Public method GetType Gets the Type of the current instance. (Inherited from Object.)
Public method IndexOf Searches for the specified SiteMapNode object, and then returns the zero-based index of the first occurrence within the entire collection.
Public method Insert Inserts the specified SiteMapNode object into the collection at the specified index.
Protected method MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
Protected method OnValidate Performs additional custom processes when validating a value.
Public method Static member ReadOnly Returns a read-only collection that contains the nodes in the specified SiteMapNodeCollection collection.
Public method Remove Removes the specified SiteMapNode object from the collection.
Public method RemoveAt Removes the SiteMapNode object at the specified index of the collection.
Public method ToString Returns a string that represents the current object. (Inherited from Object.)
Top
  Name Description
Public Extension Method AsParallel Enables parallelization of a query. (Defined by ParallelEnumerable.)
Public Extension Method AsQueryable Converts an IEnumerable to an IQueryable. (Defined by Queryable.)
Public Extension Method Cast<TResult> Casts the elements of an IEnumerable to the specified type. (Defined by Enumerable.)
Public Extension Method OfType<TResult> Filters the elements of an IEnumerable based on a specified type. (Defined by Enumerable.)
Top
  Name Description
Explicit interface implemetation Private method ICollection.CopyTo Infrastructure. Copies the elements of the ICollection interface to an array, starting at a particular array index. This class cannot be inherited.
Explicit interface implemetation Private property ICollection.Count Infrastructure. Gets the number of elements that are contained in the ICollection interface. This class cannot be inherited.
Explicit interface implemetation Private property ICollection.IsSynchronized Infrastructure. Gets a Boolean value indicating whether access to the ICollection interface is synchronized (thread safe). This class cannot be inherited.
Explicit interface implemetation Private property ICollection.SyncRoot Infrastructure. Gets an object that can be used to synchronize access to the ICollection interface. This class cannot be inherited.
Explicit interface implemetation Private method IEnumerable.GetEnumerator Infrastructure. Returns an enumerator that iterates through a collection. For a description of this member, see IEnumerable.GetEnumerator.
Explicit interface implemetation Private method IHierarchicalEnumerable.GetHierarchyData Infrastructure. Returns a hierarchical data item for the specified enumerated item. For a description of this member, see IHierarchicalEnumerable.GetHierarchyData.
Explicit interface implemetation Private method IList.Add Infrastructure. Adds an item to the collection in the IList interface. For a description of this member, see IList.Add.
Explicit interface implemetation Private method IList.Clear Infrastructure. Removes all items from the collection in the IList interface. For a description of this member, see IList.Clear.
Explicit interface implemetation Private method IList.Contains Determines whether the collection in the IList interface contains the specified Boolean value.
Explicit interface implemetation Private method IList.IndexOf Infrastructure. Determines the index of the specific item in the collection that is returned by the IList interface. For a description of this member, see IList.IndexOf.
Explicit interface implemetation Private method IList.Insert Infrastructure. Inserts an item into the collection in the IList interface at the specified index. For a description of this member, see IList.Insert.
Explicit interface implemetation Private property IList.IsFixedSize Infrastructure. Gets a Boolean value indicating whether the collection has a fixed size. For a description of this member, see IList.IsFixedSize.
Explicit interface implemetation Private property IList.IsReadOnly Infrastructure. Gets a Boolean value indicating whether the collection is read-only. For a description of this member, see IList.IsReadOnly.
Explicit interface implemetation Private property IList.Item Infrastructure. Gets the IList element at the specified index.
Explicit interface implemetation Private method IList.Remove Infrastructure. Removes the first occurrence of a specified object from the collection in the IList interface. For a description of this member, see IList.Remove.
Explicit interface implemetation Private method IList.RemoveAt Infrastructure. Removes the IList item at the specified index. For a description of this member, see IList.RemoveAt.
Top

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.

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>");
}


.NET Framework

Supported in: 4, 3.5, 3.0, 2.0

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ