絕對URL時,我跑我的網站與Visual Studio,它的根URL是:http://localhost:4657
獲取在asp.net
我有一個包含像~/Login.aspx
路徑字符串,我需要將它們連接起來,這樣的回報率將http://localhost:4657/Login.aspx
。
我可以看到很多方法來做到這一點,但什麼是正確的方法?
絕對URL時,我跑我的網站與Visual Studio,它的根URL是:http://localhost:4657
獲取在asp.net
我有一個包含像~/Login.aspx
路徑字符串,我需要將它們連接起來,這樣的回報率將http://localhost:4657/Login.aspx
。
我可以看到很多方法來做到這一點,但什麼是正確的方法?
string url = Page.ResolveUrl("~/Login.aspx");
如果你需要一個完整的URL,比如電子郵件,或什麼的,看看this blog post。
+1鏈接到Rick Strahl的帖子。 – 2011-04-28 20:31:01
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);
這是我用
var baseUri = new Uri(HttpContext.Current.Request.Url, "/");
你已經找到了工作原理是「正確的方式」的任何方式。 – Nik 2011-04-28 19:24:11