2011-04-28 9 views
0

絕對URL時,我跑我的網站與Visual Studio,它的根URL是:http://localhost:4657獲取在asp.net

我有一個包含像~/Login.aspx路徑字符串,我需要將它們連接起來,這樣的回報率將http://localhost:4657/Login.aspx

我可以看到很多方法來做到這一點,但什麼是正確的方法?

+0

你已經找到了工作原理是「正確的方式」的任何方式。 – Nik 2011-04-28 19:24:11

回答

5

嘗試Page.ResolveUrl

string url = Page.ResolveUrl("~/Login.aspx"); 

如果你需要一個完整的URL,比如電子郵件,或什麼的,看看this blog post

+1

+1鏈接到Rick Strahl的帖子。 – 2011-04-28 20:31:01

0

Request.Url怎麼樣? Url.Authority提供主機名或套接字(IPAddress:PortNo),並且段提供URL的其他部分。 只需省略LAST分段,因爲它包含當前頁面的名稱。因此i-1 *。

string myurl = "http://"+Request.Url.Authority; 
    for(int i=0;i<Request.Url.Segments.Length-1;i++) 
    { 
     myurl = myurl + Request.Url.Segments[i]; 
    } 
    myurl = myurl + "login.aspx"; 
    Response.Redirect(myurl); 
0

這是我用

var baseUri = new Uri(HttpContext.Current.Request.Url, "/");