如何使用代码隐藏技术在asp.net中获取当前页面的URL?

How to get Current Page's Url in asp.net using code behind technique?

我想得到像abc.aspx这样的页面的URL。我如何使用代码隐藏技术来实现这一点。有什么主意吗?


详细信息,您可以稍后使用字符串操作进行高级操作:

1
2
3
4
5
6
7
8
string url = HttpContext.Current.Request.Url.AbsoluteUri;
// http://localhost:1302/TESTERS/Default6.aspx

string path = HttpContext.Current.Request.Url.AbsolutePath;
// /TESTERS/Default6.aspx

string host = HttpContext.Current.Request.Url.Host;
// localhost

如何在C语言中获取当前页面的URL#


使用Request.RawUrl

Gets the raw URL of the current request.


Request.RawUrl属性为您提供当前页面的完全限定URL。


可以使用下面的方法将当前页面URL设置为规范标记….这里,我们用动态主机名设置精确的页面URL。

例如:如果要设置规范标记:http://www.testworld.co.uk/about/关于

在下面的代码中,主机名将是动态的,如http://www.testworld.co.uk/和request.rawurl所给出的结果,最终我们可以得到纯动态规范URL。注意:这里规范化标记将在HTML页面上动态创建,您不需要手动创建它。

1
2
3
4
5
6
HtmlLink canonical = new HtmlLink();
var uri = Request.Url;
string hostName = uri.GetLeftPart(UriPartial.Authority);
canonical.Href = hostName + Request.RawUrl.ToString();
canonical.Attributes["rel"] ="canonical";
Page.Header.Controls.Add(canonical);