ASP.NET中利用Segments取得URL的文件名的一种方法分享

时间:2021-05-28

例如:http:///book/list.aspx,则对应取到list.aspx。一般我们可以这样写:
复制代码 代码如下:
string url = Request.Url.ToString();
string r = url.Substring(url.LastIndexOf('/') + 1);
Response.Write(r);

上述方法 一般情况下是可以的,但如果URL地址带参数则会有问题。比如加上?id=3&name=Tim,则最后取得的是list.aspx?id=3&name=Tim,显然不仅仅只有文件名。
实际上,.Uri类提供了一个Segments属性,其实质是一个字符串数组对象,存放了URL路径段的各个值,最后一个元素就是文件名。
复制代码 代码如下:Response.Write(Request.Url.Segments[Request.Url.Segments.Length - 1]);
可以试验一下,即使文件名后带参数?id=3&name=Tim,最后取得的仍然是list.aspx。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章