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




asp.net (8)

感謝Canavar的帖子,這是我的解決方案。

如果你有這樣的事情:

"http://localhost:1234/Default.aspx?un=asdf&somethingelse=fdsa"

或者像這樣:

"https://www.something.com/index.html?a=123&b=4567"

而你只需要用戶輸入的部分,那麼這將工作:

String strPathAndQuery = HttpContext.Current.Request.Url.PathAndQuery;
String strUrl = HttpContext.Current.Request.Url.AbsoluteUri.Replace(strPathAndQuery, "/");

這將導致這些:

"http://localhost:1234/"
"https://www.something.com/"

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

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


如果你想得到

localhost:2806 

http://localhost:2806/Pages/ 

然後使用:

HttpContext.Current.Request.Url.Authority

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

 Path.GetFileName( Request.Url.AbsolutePath )

使用System.IO;


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

使用HttpContext.Current.Request.RawUrl


針對需要global.asax文件中的路徑/ url的人的提示;

如果您需要在global.asax> Application_Start中運行此應用程序池模式,則您將收到以下錯誤消息:

在Application_Start中的此上下文異常中請求不可用。

在這種情況下,你需要使用這個:

System.Web.HttpRuntime.AppDomainAppVirtualPath

希望能夠幫助別人..


如果你只想要http://和第一個斜杠之間的部分

string url = Request.Url.Host;

如果從此頁面調用,將返回.com

這是完整的細分


嘗試這個 :

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

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

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

.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