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


例如:http://www.abc.com/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。



相关阅读:
使用Axis开发Web Service程序
网页缓冲效果特效代码
asp.net下用url重写URLReWriter实现任意二级域名的方法
HTML表格标记教程(5):亮边框色属性BORDERCOLORLIGHT
来自PHP.NET的入门教程
JS延迟加载(setTimeout) JS最后加载
MySQL数据导入导出方法与工具(2)
如何用Windows 7开启或关闭屏幕键盘
CSS实现 Firefox 和 IE 都支持的半透明效果
CSS Border属性制作小三角
CSS教程:制作对用户友好的站内搜索表单
JavaScript 常用函数库详解
Win2008虚拟化实战之启用Hyper-V功能
CSS教程:CSS变换(transition)
快速导航

Copyright © 2016 phpStudy |