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 [C#] public string ResolveUrl( string relativeUrl ); [C++] public: String* ResolveUrl( String* relativeUrl ); [JScript] public function ResolveUrl( relativeUrl : String ) : String;
Parameters
- relativeUrl
- The URL associated with the TemplateSourceDirectory property.
Return Value
The converted URL.
Exceptions
| Exception Type | Condition |
|---|---|
| ArgumentNullException | Occurs if the relativeUrl parameter contains a null reference (Nothing in Visual Basic). |
Remarks
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.
Example
[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 Get Return _ImageUrl End Get Set _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) myImage.RenderControl(output) End Sub End Class [C#] public class MyResolveUrl:Control { private string _ImageUrl; public string ImageUrl { get { return _ImageUrl; } set { _ImageUrl = value; } } protected override void Render(HtmlTextWriter output) { Image myImage = new Image(); // Resolve Url. myImage.ImageUrl = ResolveUrl(this.ImageUrl); myImage.RenderControl(output); } }
[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
in the upper-left corner of the page.
Requirements
Platforms: Windows 2000, Windows XP Professional, Windows Server 2003 family
See Also
Control Class | Control Members | System.Web.UI Namespace | TemplateSourceDirectory