2011-04-28 40 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, "/");