关于ASP.NET:如何在C#中获取当前页的URL

How to get the URL of the current page in C#

本问题已经有最佳答案,请猛点这里访问。

有人能帮我用C语言获取ASP.NET当前工作页的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


你可以在时代需要不同的值从获得的URL。

下面的例子显示不同的方式不同的部分URL提取

例子:(样品)。

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

代码

1
2
3
4
5
6
7
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);

输出

1
2
3
4
5
6
7
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

你可以复制粘贴上面的代码示例IT &;运行在ASP.NET Web应用与不同的URL的形式。

我建议阅读ASP。NET中你可以使用ASP实例路由路由,然后你不需要使用传统的URL的查询字符串。

http://。/en-US /图书馆/ cc668201 %=% 29.aspx vs.100 28V的


这是我的即时共享作为解决方案的canavar的邮件。

如果你有这样的东西。

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

或像这样:

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

只想和你在一个用户的一部分不想在此工作的类型:

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

这将导致论文:

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


如果你只是想"http://部分之间的削减和第一

1
string url = Request.Url.Host;

如果没有回报stackoverflow.com所谓从本页

这是一个完整的击穿


在request.rawurl想给当前页的内容它给你确切的所需的路径

使用HttpContext.Current.Request.RawUrl


如果你要

1
localhost:2806

1
http://localhost:2806/Pages/

然后使用:

1
HttpContext.Current.Request.Url.Authority


一个尖端的人谁需要在Global.asax文件路径或URL;

如果你需要运行这个应用_ >在Global.asax和你应用程序池的启动模式是集成然后你将收到下面的错误:

Request is not available in this context exception in
Application_Start.

在这样的情况:你需要使用本

System.Web.HttpRuntime.AppDomainAppVirtualPath

我们想帮助他人。


我降落在本页搜索,但这不是我所要找的地方。张贴在这里的情况是别人找我在本页的土地的价值。

有两个这样做的方式,如果你有一个字符串值。

NET的方式:

一个canavar",但你可以instantiate新URI对象

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

这意味着你可以使用同样的方法。

1
2
3
4
5
string url = uri.AbsoluteUri;
// http://localhost:1302/TESTERS/Default6.aspx

string host = uri.host
// localhost

正则表达式的方式:

作为部分的URL(正则表达式)


我想它足以返回绝对路径。

1
 Path.GetFileName( Request.Url.AbsolutePath )

使用System.IO;