我正在使用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 ” 你能帮我吗?感谢。
答案 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);