Resolving an App-Relative URL without a Page Object Reference
        Posted  
        
            by Damon
        on Simple Talk
        
        See other posts from Simple Talk
        
            or by Damon
        
        
        
        Published on Sun, 19 Dec 2010 05:38:37 GMT
        Indexed on 
            2010/12/20
            17:53 UTC
        
        
        Read the original article
        Hit count: 365
        
If you've worked with ASP.NET before then you've almost certainly seen an application-relative URL like ~/SomeFolder/SomePage.aspx. The tilde at the beginning is a stand in for the application path, and it can easily be resolved using the Page object's ResolveUrl method:
string url = Page.ResolveUrl("~/SomeFolder/SomePage.aspx");
There are times, however, when you don't have a page object available and you need to resolve an application relative URL. Assuming you have an HttpContext object available, the following method will accomplish just that:
public static string ResolveAppRelativeUrl(string url)   
{    
     return url.Replace("~", System.Web.HttpContext.Current.Request.ApplicationPath);    
}
It just replaces the tilde with the application path, which is essentially all the ResolveUrl method does.
© Simple Talk or respective owner