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。

(0)

相关推荐

  • 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?

  • ASP.Net中利用CSS实现多界面的两种方法

    本文实例讲述了ASP.Net中利用CSS实现多界面的两种方法.分享给大家供大家参考.具体实现方法如下: 可以通过使页面动态加载不同CSS来实现多界面的效果: 方法一: 复制代码 代码如下: <%@page language="C#"%> <%@import namespace="System.Data"%> <script language="c#" runat="server"> publ

  • ASP.NET中利用WebClient上传图片到远程服务的方法

    一.客户端 1.页面 <form id="Form1" method="post" runat="server" enctype="multipart/form-data"> <input id="MyFile" type="file" runat="server" /> <br /> <br /> <asp:Bu

  • 在asp.net中获取当前页面的URL的方法(推荐)

    获取Url的方法有两种,通过后台获得或通过前面js获得,如下: 1.通过C#获取当前页面的URL string url = Request.Url.AbsoluteUri; //结果: http://www.jb51.net/web/index.aspx string host = Request.Url.Host; //结果:www.jb51.net string rawUrl = Request.RawUrl; //结果:/web/index.aspx string localPath =

  • Vue2.x中利用@font-size引入字体图标报错的解决方法

    利用 vue-cli 搭建的项目平台 利用stylus写的css样式 有 css-loader 依赖包x 下图是 webpack.base.conf.js 关于字体文件的配置 有人这里会有重复的字体文件的配置,删除一项即可 出现的问题:引入字体图标出现问题 1.报错 将字体引入的相对路径改成绝对路径 相对路径 绝对路径 2.不报错,但是出现的字体图标是小方框 有警告信息: 小方块: 报错是因为重定向的问题 出现上述问题的原因 ①没在用到的地方引入字体的样式文件 ②使用的是后缀名为 .styl 文

  • Vuejs在v-for中,利用index来对第一项添加class的方法

    (1)在v-for中,利用index来对第一项添加class 在CODE上查看代码片派生到我的代码片 <a class="list-group-item" :class="{'active':!index}" v-for="(i,index) in announcement"> index来源于v-for,i表示遍历的数组的元素,index表示索引. 由于index从0开始,因此如果要指定第一项有active这个类,那么就用v-bin

  • Linux 中清空或删除大文件内容的五种方法

    在 Linux 终端下处理文件时,有时我们想直接清空文件的内容但又不必使用任何Linux命令行编辑器 去打开这些文件.那怎样才能达到这个目的呢?在这篇文章中,我们将介绍几种借助一些实用的命令来清空文件内容的方法. 注意: 由于再Linux中一切皆文件,你需要时刻注意,确保你将要清空的文件不是重要的用户文件或者系统文件.清空重要的系统文件或者配置文件可能会引发严重的应用失败或者系统错误. 提示:在下面的示例中,我们将使用名为 access.log 的文件来作为示例样本. 1. 通过重定向到 Nul

  • vue 获取url里参数的两种方法小结

    我就废话不多说了,大家还是直接看代码吧~ 第一种: const query = Qs.parse(location.search.substring(1)) let passport = query.passport; 第二种: var query=this.$route.query; let lat = query.lat; 补充知识:Vue通过query获取路由参数 现在来讲Vue通过query获取路由参数 可以看见com1组件里的路由参数为 name=zhangsan&job=teache

  • 利用For循环遍历Python字典的三种方法实例

    目录 前言 方法 1:使用 For 循环 + 索引进行迭代 方法 2:使用 .keys( ) + 索引进行迭代 方法 3:使用 .items( ) 进行迭代 进阶:遍历嵌套字典 总结 前言 在Python中,如何使用“for”循环遍历字典? 今天我们将会演示三种方法,并学会遍历嵌套字典. 在实战前,我们需要先创建一个模拟数据的字典. dict_1 = {'Name': 'Zara', 'Age': 7, 'Class': 'First','Address':'Beijing'} 方法 1:使用

  • C# 中Excel导入时判断是否被占用三种方法

    C# 中Excel导入时 判断是否被占用三种方法 Excel导入时 判断是否被占用,三种方法: 1:Win7可以,WIN10不可以 try { //原理,如果文件可以被移动,说明未被占用 string strPath = "C:\\123OK.Excel"; string strPath2 = "C:\\123OK22.Excel"; File.Move(strPath, strPath2); File.Move(strPath2, strPath); } catc

随机推荐