Thread: ASP.NET/Convert Relative URL to Absolute

Convert Relative URL to Absolute

Very useful inside your libraries:


blog.nathan-taylor.net/2010/07/aspnet-convert-relative-url-to-absolute.html


 


        public static string ToAbsoluteUrl(string relativeUrl)

        {

            if (string.IsNullOrEmpty(relativeUrl))

                return relativeUrl; if (HttpContext.Current == null)

                return relativeUrl; if (relativeUrl.StartsWith("/"))

                relativeUrl = relativeUrl.Insert(0, "~");

            if (!relativeUrl.StartsWith("~/"))

                relativeUrl = relativeUrl.Insert(0, "~/");

            var url = HttpContext.Current.Request.Url;

            var port = url.Port != 80 ? (":" + url.Port) : String.Empty;

            return string.Format("{0}://{1}{2}{3}",

                url.Scheme, url.Host, port,

                VirtualPathUtility.ToAbsolute(relativeUrl));

        }