SiteMapNodeCollection.ReadOnly(SiteMapNodeCollection) 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.
Returns a read-only collection that contains the nodes in the specified SiteMapNodeCollection collection.
public:
static System::Web::SiteMapNodeCollection ^ ReadOnly(System::Web::SiteMapNodeCollection ^ collection);
public static System.Web.SiteMapNodeCollection ReadOnly (System.Web.SiteMapNodeCollection collection);
static member ReadOnly : System.Web.SiteMapNodeCollection -> System.Web.SiteMapNodeCollection
Public Shared Function ReadOnly (collection As SiteMapNodeCollection) As SiteMapNodeCollection
Parameters
- collection
- SiteMapNodeCollection
The SiteMapNodeCollection that contains the SiteMapNode objects to add to the read-only SiteMapNodeCollection.
Returns
A read-only SiteMapNodeCollection with the same SiteMapNode elements and structure as the original SiteMapNodeCollection.
Exceptions
collection
is null
.
Examples
The following code example demonstrates how to use the IsReadOnly property to test whether a SiteMapNodeCollection collection is read-only or modifiable. If siteNodes
is modifiable, MoveNode
is called on it; otherwise, a clone SiteMapNodeCollection is created, using siteNodes
as a base.
SiteMapNodeCollection siteNodes = SiteMap.RootNode.GetAllNodes();
if ( siteNodes.IsReadOnly ||
siteNodes.IsFixedSize )
{
Response.Write("Collection is read-only or has fixed size.<BR>");
// Create a new, modifiable collection from the existing one.
SiteMapNodeCollection modifiableCollection =
new SiteMapNodeCollection(siteNodes);
// The MoveNode example method moves a node from position one to
// the last position in the collection.
MoveNode(modifiableCollection);
}
else {
MoveNode(siteNodes);
}
Dim siteNodes As SiteMapNodeCollection
siteNodes = SiteMap.RootNode.GetAllNodes()
If siteNodes.IsReadOnly Or siteNodes.IsFixedSize Then
Response.Write("Collection is read-only or has fixed size.<BR>")
' Create a new, modifiable collection from the existing one.
Dim modifiableCollection As SiteMapNodeCollection
modifiableCollection = New SiteMapNodeCollection(siteNodes)
' The MoveNode example method moves a node from position one to
' the last position in the collection.
MoveNode(modifiableCollection)
Else
MoveNode(siteNodes)
End If
Remarks
You can test whether a SiteMapNodeCollection collection is read-only by checking the IsReadOnly property. The IsFixedSize property also returns true
when a SiteMapNodeCollection is read-only.
Notes to Inheritors
A read-only SiteMapNodeCollection collection supports read and search operations, but does not support the Add(SiteMapNode), AddRange, Clear(), Insert(Int32, SiteMapNode), Remove(SiteMapNode), and RemoveAt(Int32) methods, nor the setter on the default indexer property, Item[Int32].