2010-01-22 27 views

回答

6

如果你只想在网址中的最后/之后的部分,呼吁Uri.LocalPathSystem.IO.Path.GetFileName()方法应该做的伎俩:

System.IO.Path.GetFileName(Request.UrlReferrer.LocalPath); 

如果你想输出保持在URI查询字符串信息,使用PathAndQuery属性:

System.IO.Path.GetFileName(Request.UrlReferrer.PathAndQuery); 
+0

感谢这也工作,只是为了确认,如果我的网址包含一些查询字符串,那么我的结果将是WebForm1.aspx或不 – 2010-01-22 13:49:12

+0

LocalPath将删除关闭。 – 2010-01-22 14:32:00

+0

非常感谢亲爱的您的帮助! – 2010-01-22 14:45:34

0

尝试在UrlReferrerLocalPath属性:

Label1.Text = Request.UrlReferrer.LocalPath; 

应该为您提供不仅是文件名。

编辑:这似乎也包括路径,所以只适用于root。

在这种情况下,你最好只是用Substring()

string str = Request.UrlReferrer.ToString(); 
Label1.Text = str.Substring(str.LastIndexOf('/')+1); 
+0

谢谢!它给我/data/WebForm1.aspx,但是我只想要WebForm1.aspx。请建议 – 2010-01-22 13:33:24

+0

谢谢!在这种情况下,如果我的url返回http:// localhost:82/data/WebForm1.aspx?test =“hello”。我的意思是,如果URL中有查询字符串,则上面的子字符串逻辑将起作用 – 2010-01-22 13:40:33

+0

它将包含查询字符串,因此只需在LocalPath属性上执行'Substring()'操作。我不认为LocalPath包含查询字符串。 – 2010-01-22 13:42:20

相关问题