关于c#:如何获取当前的url

How to obtain the current url

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

Possible Duplicate:
How to get the URL of the current page in C#

如果我在一个称为http://myweb/folder/obtain.aspx?thevalue=3的页面中,如何确定URL是否包含c_中的obtain.aspx?thevalue?我只需要检查用户是否登录到这个特定页面。

附言:我想我真的不需要检查?thevalue,只需要检查obtain.aspx


试试这个: P / < >

1
2
3
4
5
6
//gets the current url
string currentUrl = Request.Url.AbsoluteUri;

//check the url to see if it contains your value
if (currentUrl.ToLower().Contains("obtain.aspx?thevalue"))
    //do something


这将给你精确的文件名(obtain.aspx) request.url.segments [ 1 ] P / < >


我推荐使用的request.url。得到精确的文件的名字,你也可以试着用system.io.path P / < >

1
2
3
var aspxFile = System.IO.Path.GetFileName(Request.Url.LocalPath);
var landed = aspxFile.Equals("obtain.aspx", StringComparison.InvariantCultureIgnoreCase);
if(landed) { // your code }

Request.Url应该含有你的一切需要。在你的情况,你可以用的东西一样 P / < >

1
if( Request.Url.PathAndQuery.IndexOf("obtain.aspx") >= 0 )...

它是丑陋的,但你cand尝试 P / < >

1
2
if (HttpContext.Current.HttpRequest.Url.AbsolutePath.Contains("/obtain.aspx"))
 // then do something


Request.Url将返回精确的URI被要求由用户。 P / < >

如果你想检查,具体来说thevalue*,*你可能正在寻找更好的了,在Request.QueryString P / < >