This documentation is archived and is not being maintained.

VirtualPathUtility.GetDirectory Method

Returns the directory portion of a virtual path.

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

public static string GetDirectory(
	string virtualPath


Type: System.String

The virtual path.

Return Value

Type: System.String
The directory referenced in the virtual path.


virtualPath is not rooted.

- or -

virtualPath is null or an empty string.

If virtualPath is not rooted; that is, it does not equal the root operator (the tilde [~]), does not start with a tilde (~), such as a tilde and a slash mark (~/) or a tilde and a double backslash (~//), or does not start with a slash mark (/), an ArgumentException exception is thrown.

If the virtual path that is passed into the GetDirectory method is "/images/image1.gif", the returned directory is "/images".

The following code example demonstrates how to use the GetFileName, GetExtension, and GetDirectory methods.

StringBuilder sb = new StringBuilder();
String pathstring = Context.Request.FilePath.ToString();
sb.Append("Current file path = " + pathstring + "<br />");
sb.Append("File name = " + VirtualPathUtility.GetFileName(pathstring).ToString() + "<br />");
sb.Append("File extension = " + VirtualPathUtility.GetExtension(pathstring).ToString() + "<br />");
sb.Append("Directory = " + VirtualPathUtility.GetDirectory(pathstring).ToString() + "<br />");

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0, 2.0