如何获取当前网址

时间:2011-11-18 16:05:21

标签: c# asp.net

  

可能重复:
  How to get the URL of the current page in C#

如果我在页面中说http://myweb/folder/obtain.aspx?thevalue=3,我如何确定网址中是否包含obtain.aspx?thevalue?我只需要检查用户是否登陆此特定页面。

PS:我想我真的不需要检查?thevalue而只需检查obtain.aspx

6 个答案:

答案 0 :(得分:9)

试试这个:

//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

答案 1 :(得分:2)

这将为您提供确切的文件名(obtain.aspx) Request.Url.Segments [1]

答案 2 :(得分:1)

Request.Url应该包含您需要的一切。在您的情况下,您可以使用类似

的内容
if( Request.Url.PathAndQuery.IndexOf("obtain.aspx") >= 0 )...

答案 3 :(得分:1)

我建议使用Request.Url。要获取确切的文件名,您可以尝试使用System.IO.Path

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

答案 4 :(得分:0)

Request.Url将返回用户请求的确切Uri。

如果你想专门检查thevalue,你可能最好在Request.QueryString

中寻找

答案 5 :(得分:0)

它很丑,但你可以尝试

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