This documentation is archived and is not being maintained.

Control.ResolveUrl Method

Converts a URL into one that is usable on the requesting client.

[Visual Basic]
Public Function ResolveUrl( _
   ByVal relativeUrl As String _
) As String
public string ResolveUrl(
 string relativeUrl
public: String* ResolveUrl(
 String* relativeUrl
public function ResolveUrl(
   relativeUrl : String
) : String;


The URL associated with the TemplateSourceDirectory property.

Return Value

The converted URL.


Exception Type Condition
ArgumentNullException Occurs if the relativeUrl parameter contains a null reference (Nothing in Visual Basic).


If the relativeUrl parameter contains an absolute URL, the URL is returned unchanged. If the relativeUrl parameter contains a relative URL, that URL is changed to a relative URL that is correct for the current request path, so that the browser can resolve the URL.

For example, consider the following scenario:

  • A client has requested an ASP.NET page that contains a user control that has an image associated with it.
  • The ASP.NET page is located at /Store/page1.aspx.
  • The user control is located at /Store/UserControls/UC1.ascx.
  • The image file is located at /UserControls/Images/MyPhoto1.jpg.

If the user control passes the relative path to the image (that is, /Store/UserControls/Images/MyPhoto1.jpg) to the ResolveUrl method, the method will return the value /Images/MyPhoto1.jpg.

This method uses the TemplateSourceDirectory property to resolve to the absolute URL. The returned URL is for client use.


[Visual Basic, C#] The following example creates an Image Web server control object and uses the ResolveUrl method to set the path to the image, which is stored by the ImageUrl property.

[Visual Basic] 
Public Class MyResolveUrl
   Inherits Control
   Private _ImageUrl As String

   Public Property ImageUrl() As String
         Return _ImageUrl
      End Get
         _ImageUrl = value
      End Set
   End Property

   Protected Overrides Sub Render(output As HtmlTextWriter)
      Dim myImage As New System.Web.UI.WebControls.Image()
      ' Resolve Url.
      myImage.ImageUrl = ResolveUrl(Me.ImageUrl)
   End Sub
End Class

public class MyResolveUrl:Control
   private string _ImageUrl;     
   public string ImageUrl
         return _ImageUrl;
         _ImageUrl = value;
   protected override void Render(HtmlTextWriter output)
      Image myImage = new Image();
      // Resolve Url.
      myImage.ImageUrl = ResolveUrl(this.ImageUrl);

[Visual Basic, C#]

[C++, JScript] No example is available for C++ or JScript. To view a Visual Basic or C# example, click the Language Filter button Language Filter in the upper-left corner of the page.


Platforms: Windows 2000, Windows XP Professional, Windows Server 2003 family

See Also

Control Class | Control Members | System.Web.UI Namespace | TemplateSourceDirectory