如何从ASP.NET代码中获取当前URL

时间:2013-07-22 11:01:05

标签: asp.net

我的应用程序托管在不同的服务器上,我想在当前服务器上获取该页面的URL。

如何在代码中获取此属性?

5 个答案:

答案 0 :(得分:26)

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

答案 1 :(得分:5)

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

答案 2 :(得分:5)

  

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

答案 3 :(得分:5)

从代码隐藏文件

获取URL的另一种方法
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;
    }
}

检查此Link您将获得更多信息。

答案 4 :(得分: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;
}