绝对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