如何在C#中獲取當前頁面的URL




asp.net (6)

這個問題在這裡已經有了答案:

任何人都可以幫助我獲取C#中ASP.NET當前工作頁面的URL嗎?


request.rawurl會給出當前頁面的內容,它會給出你需要的確切路徑

使用HttpContext.Current.Request.RawUrl


嘗試這個 :

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

如果你想得到

localhost:2806 

http://localhost:2806/Pages/ 

然後使用:

HttpContext.Current.Request.Url.Authority

您有時可能需要從URL獲取不同的值。

以下示例顯示了提取URL的不同部分的不同方式

示例:(示例URL)

http://localhost:60527/WebSite1test/Default2.aspx?QueryString1=1&QueryString2=2

Response.Write("<br/> " + HttpContext.Current.Request.Url.Host);
Response.Write("<br/> " + HttpContext.Current.Request.Url.Authority);
Response.Write("<br/> " + HttpContext.Current.Request.Url.Port);
Response.Write("<br/> " + HttpContext.Current.Request.Url.AbsolutePath);
Response.Write("<br/> " + HttpContext.Current.Request.ApplicationPath);
Response.Write("<br/> " + HttpContext.Current.Request.Url.AbsoluteUri);
Response.Write("<br/> " + HttpContext.Current.Request.Url.PathAndQuery);

OUTPUT

localhost
localhost:60527
60527
/WebSite1test/Default2.aspx
/WebSite1test
http://localhost:60527/WebSite1test/Default2.aspx?QueryString1=1&QueryString1=2
/WebSite1test/Default2.aspx?QueryString1=1&QueryString2=2

你可以復制粘貼上面的示例代碼,並使用不同的URL在asp.net web表單應用程序中運行它。

我還建議您閱讀ASP.Net路由,以防您可能使用ASP路由,那麼您不需要在查詢字符串中使用傳統URL。

http://msdn.microsoft.com/en-us/library/cc668201%28v=vs.100%29.aspx


我想它足以返回絕對路徑..

 Path.GetFileName( Request.Url.AbsolutePath )

使用System.IO;


搜索將我帶到了這個頁面,但這不是我想要的。 張貼在這裡,以防其他人在尋找我在這個頁面登陸的內容。

如果你只有一個字符串值,有兩種方法。

.NET方式:

和@Canavar一樣,但是你可以實例化一個新的Uri對象

String URL = "http://localhost:1302/TESTERS/Default6.aspx";
System.Uri uri = new System.Uri(URL);

這意味著你可以使用相同的方法,例如

string url = uri.AbsoluteUri;
// http://localhost:1302/TESTERS/Default6.aspx

string host = uri.host
// localhost

正則表達式的方式:

獲取URL的部分(正則表達式)





asp.net