RouteCollection Class

Provides a collection of routes for ASP.NET routing.

Namespace:  System.Web.Routing
Assembly:  System.Web (in System.Web.dll)

public class RouteCollection : Collection<RouteBase>

The RouteCollection type exposes the following members.

  NameDescription
Public methodRouteCollection()Initializes a new instance of the RouteCollection class.
Public methodRouteCollection(VirtualPathProvider)Infrastructure. Initializes a new instance of the RouteCollection class by using the specified virtual path provider.
Top

  NameDescription
Public propertyAppendTrailingSlashGets or sets a value that indicates whether trailing slashes are added when virtual paths are normalized.
Public propertyCountGets the number of elements actually contained in the Collection<T>. (Inherited from Collection<T>.)
Public propertyItem[Int32]Gets or sets the element at the specified index. (Inherited from Collection<T>.)
Public propertyItem[String]Gets the route in the collection that has the specified name.
Protected propertyItemsGets a IList<T> wrapper around the Collection<T>. (Inherited from Collection<T>.)
Public propertyLowercaseUrlsGets or sets a value that indicates whether URLs are converted to lower case when virtual paths are normalized.
Public propertyRouteExistingFilesGets or sets a value that indicates whether ASP.NET routing should handle URLs that match an existing file.
Top

  NameDescription
Public methodAdd(T)Adds an object to the end of the Collection<T>. (Inherited from Collection<T>.)
Public methodAdd(String, RouteBase)Adds a route to the end of the RouteCollection object and assigns the specified name to the route.
Public methodClearRemoves all elements from the Collection<T>. (Inherited from Collection<T>.)
Protected methodClearItemsRemoves all the elements from the RouteCollection object. (Overrides Collection<T>.ClearItems().)
Public methodContainsDetermines whether an element is in the Collection<T>. (Inherited from Collection<T>.)
Public methodCopyToCopies the entire Collection<T> to a compatible one-dimensional Array, starting at the specified index of the target array. (Inherited from Collection<T>.)
Public methodEquals(Object)Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected methodFinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public methodGetEnumeratorReturns an enumerator that iterates through the Collection<T>. (Inherited from Collection<T>.)
Public methodGetHashCodeServes as the default hash function. (Inherited from Object.)
Public methodGetReadLockProvides an object for managing thread safety when you retrieve an object from the collection.
Public methodGetRouteDataReturns information about the route in the collection that matches the specified values.
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Public methodGetVirtualPath(RequestContext, RouteValueDictionary)Returns information about the URL path that is associated with the route, given the specified context and parameter values.
Public methodGetVirtualPath(RequestContext, String, RouteValueDictionary)Returns information about the URL path that is associated with the named route, given the specified context, route name, and parameter values.
Public methodGetWriteLockProvides an object for managing thread safety when you add or remove elements in the collection.
Public methodIgnore(String)Defines a URL pattern that should not be checked for matches against routes.
Public methodIgnore(String, Object)Defines a URL pattern that should not be checked for matches against routes if a request URL meets the specified constraints.
Public methodIndexOfSearches for the specified object and returns the zero-based index of the first occurrence within the entire Collection<T>. (Inherited from Collection<T>.)
Public methodInsertInserts an element into the Collection<T> at the specified index. (Inherited from Collection<T>.)
Protected methodInsertItemInserts the specified route into the RouteCollection object at the specified index. (Overrides Collection<T>.InsertItem(Int32, T).)
Public methodMapPageRoute(String, String, String)Provides a way to define routes for Web Forms applications.
Public methodMapPageRoute(String, String, String, Boolean)Provides a way to define routes for Web Forms applications.
Public methodMapPageRoute(String, String, String, Boolean, RouteValueDictionary)Provides a way to define routes for Web Forms applications.
Public methodMapPageRoute(String, String, String, Boolean, RouteValueDictionary, RouteValueDictionary)Provides a way to define routes for Web Forms applications.
Public methodMapPageRoute(String, String, String, Boolean, RouteValueDictionary, RouteValueDictionary, RouteValueDictionary)Provides a way to define routes for Web Forms applications.
Protected methodMemberwiseCloneCreates a shallow copy of the current Object. (Inherited from Object.)
Public methodRemoveRemoves the first occurrence of a specific object from the Collection<T>. (Inherited from Collection<T>.)
Public methodRemoveAtRemoves the element at the specified index of the Collection<T>. (Inherited from Collection<T>.)
Protected methodRemoveItemRemoves the route from the RouteCollection object at the specified index. (Overrides Collection<T>.RemoveItem(Int32).)
Protected methodSetItemReplaces the route at the specified index. (Overrides Collection<T>.SetItem(Int32, T).)
Public methodToStringReturns a string that represents the current object. (Inherited from Object.)
Top

  NameDescription
Explicit interface implemetationPrivate methodICollection.CopyToCopies the elements of the ICollection to an Array, starting at a particular Array index. (Inherited from Collection<T>.)
Explicit interface implemetationPrivate propertyICollection<T>.IsReadOnlyGets a value indicating whether the ICollection<T> is read-only. (Inherited from Collection<T>.)
Explicit interface implemetationPrivate propertyICollection.IsSynchronizedGets a value indicating whether access to the ICollection is synchronized (thread safe). (Inherited from Collection<T>.)
Explicit interface implemetationPrivate propertyICollection.SyncRootGets an object that can be used to synchronize access to the ICollection. (Inherited from Collection<T>.)
Explicit interface implemetationPrivate methodIEnumerable.GetEnumeratorReturns an enumerator that iterates through a collection. (Inherited from Collection<T>.)
Explicit interface implemetationPrivate methodIList.AddAdds an item to the IList. (Inherited from Collection<T>.)
Explicit interface implemetationPrivate methodIList.ContainsDetermines whether the IList contains a specific value. (Inherited from Collection<T>.)
Explicit interface implemetationPrivate methodIList.IndexOfDetermines the index of a specific item in the IList. (Inherited from Collection<T>.)
Explicit interface implemetationPrivate methodIList.InsertInserts an item into the IList at the specified index. (Inherited from Collection<T>.)
Explicit interface implemetationPrivate propertyIList.IsFixedSizeGets a value indicating whether the IList has a fixed size. (Inherited from Collection<T>.)
Explicit interface implemetationPrivate propertyIList.IsReadOnlyGets a value indicating whether the IList is read-only. (Inherited from Collection<T>.)
Explicit interface implemetationPrivate propertyIList.ItemGets or sets the element at the specified index. (Inherited from Collection<T>.)
Explicit interface implemetationPrivate methodIList.RemoveRemoves the first occurrence of a specific object from the IList. (Inherited from Collection<T>.)
Top

The RouteCollection class provides methods that enable you to manage a collection of objects that derive from the RouteBase class.

Typically, you will use the static Routes property of the RouteTable class to retrieve a RouteCollection object. The Routes property stores all the routes for an ASP.NET application. ASP.NET routing iterates through the routes in the Routes property to find the route that matches a URL.

To construct a URL, you call the GetVirtualPath method and pass in a collection of values. The GetVirtualPath method finds the first route with parameters that match the values that you passed in, and returns a VirtualPathData object that contains information about the matching route. You retrieve the URL through the VirtualPath property of the VirtualPathData object.

You can add a route either with a name or without a name. Including a name enables you to distinguish between similar routes when URLs are constructed. If you do not specify a name, ASP.NET routing uses the first matching route in the collection to construct a URL.

When you add an unnamed route to the RouteCollection object, you cannot add a route that already is in the collection. When you add a named route, you cannot use a name that already identifies a route in the collection.

You use the GetReadLock method and the GetWriteLock method to make sure that you interact with the collection without conflicts from other processes.

For more information about how to add a route to a route collection, see ASP.NET Routing.

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

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.
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft