私のアプリケーションは別のサーバーでホストされており、現在のサーバー上のページの URL を取得したいと考えています。
コードビハインドでこのプロパティを取得するにはどうすればよいですか?
私のアプリケーションは別のサーバーでホストされており、現在のサーバー上のページの URL を取得したいと考えています。
コードビハインドでこのプロパティを取得するにはどうすればよいですか?
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
コード ビハインド ファイルから 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;
    }
}
このリンクを確認すると、詳細情報が得られます。
string MyUrl = HttpContext.Current.Request.Url.AbsoluteUri
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;
}