12

My application is hosted on different servers, and I want to get the URL of the page on the current server.

How can you get this property in code behind?

1

5 Answers 5

31
string url = HttpContext.Current.Request.Url.AbsoluteUri;

http://thehost.com/dir/Default.aspx

string path = HttpContext.Current.Request.Url.AbsolutePath;

/dir/Default.aspx

string host = HttpContext.Current.Request.Url.Host;

thehost.com

Sign up to request clarification or add additional context in comments.

2 Comments

What if i have '#' in URL..... i.e :http:test.abc.com/sitesposure.aspx#commentfocus......... will it work?
@Pranav-BitWiser HttpContext.Current.Request.Url returns a System.Uri. Here's a summary of all of the Uri properties: blog.jonschneider.com/2014/10/…
9

Another way to get URL from code behind file

public string FullyQualifiedApplicationPath
{
    get
    {
        //Return variable declaration
        var appPath = string.Empty;

        //Getting the current context of HTTP request
        var context = HttpContext.Current;

        //Checking the current context content
        if (context != null)
        {
            //Formatting the fully qualified website url/name
            appPath = string.Format("{0}://{1}{2}{3}",
                                    context.Request.Url.Scheme,
                                    context.Request.Url.Host,
                                    context.Request.Url.Port == 80
                                        ? string.Empty
                                        : ":" + context.Request.Url.Port,
                                    context.Request.ApplicationPath);
        }

        if (!appPath.EndsWith("/"))
            appPath += "/";

        return appPath;
    }
}

check this Link you will get more info.

Comments

5
string MyUrl = HttpContext.Current.Request.Url.AbsoluteUri

Comments

5

string path = HttpContext.Current.Request.Url.AbsolutePath;

1 Comment

this gave me /dir/Default.aspx. @Siraj solution gave me localhost:1872/dir/Default.aspx and that's what i need. thanks.
1
public string GetApplicationName(){
    string url = HttpContext.Current.Request.Url.AbsoluteUri;
    int intStartIndex = GetIndex(url, 3);
    int intEndIndex = GetIndex(url, 4);
    return url.Substring(intStartIndex, (intEndIndex - intStartIndex) - 1);
}

public int GetIndex(string str, int indexNo){
    int index = 0;
    for (int i = 0; i < indexNo; i++){
        int tempIndex = str.IndexOf("/") + 1;
        str = str.Remove(0, tempIndex);
        index += tempIndex;
    }
    return index;
}

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.