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

在ASP.NET中,取得请求页的URL地址有多种方式,其中有一种方式取得网页文件名

例如:,则对应取到list.aspx。一般我们可以这样写:

复制代码 代码如下:


string url = Request.Url.ToString();
string r = url.Substring(url.LastIndexOf('https://www.jb51.net/') + 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。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wjjzgs.html