当我使用visual studio运行我的网站时,其根网址为:http://localhost:4657
我有包含~/Login.aspx
之类路径的字符串,我需要将它们连接起来,以便返回http://localhost:4657/Login.aspx
。
我可以看到很多方法可以做到这一点,但是正确的方法是什么?
答案 0 :(得分:6)
string url = Page.ResolveUrl("~/Login.aspx");
如果您需要完整的网址,比如发送电子邮件或其他内容,请查看this blog post。
答案 1 :(得分:2)
Request.Url怎么样? Url.Authority提供主机名或Socket(IPAddress:PortNo),段提供URL的其他部分。 只需省略最后一段,因为它包含当前页面的名称。因此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);
答案 2 :(得分:0)
这就是我使用的
var baseUri = new Uri(HttpContext.Current.Request.Url, "/");