仅获取Referrer页面不是.NET中的完整地址

时间:2010-01-22 13:24:25

标签: c# .net asp.net

我正在使用C#。以下是我的示例代码。

private void Page_Load(object sender, System.EventArgs e)
{
    string str = Request.UrlReferrer.ToString();   
    Label1.Text = str;  
}

Label1.Text 的结果为 http://localhost:82/data/WebForm1.aspx

现在我希望 Label1.Text

中的结果为“ WebForm1.aspx ” 你能帮我吗?

感谢。

2 个答案:

答案 0 :(得分:6)

如果您只想要网址中最后一个/之后的部分,则在System.IO.Path.GetFileName()上调用Uri.LocalPath方法应该可以解决问题:

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

如果您希望输出保留URI中的查询字符串信息,请使用PathAndQuery属性:

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

答案 1 :(得分:0)

尝试LocalPath上的UrlReferrer属性:

Label1.Text = Request.UrlReferrer.LocalPath;

它应该只提供文件名。

编辑:这似乎也包含路径,因此仅适用于root。

在这种情况下,您最好只使用Substring()

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