You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用C#代码后置获取当前URL及带参数的页面文件名?

在ASP.NET中获取带查询字符串的当前URL及页面文件名+参数

刚好做过类似的需求,给你两个实用的解决方案,都是ASP.NET代码后置(Code-Behind)里直接能用的:

1. 获取带查询字符串的当前完整URL

要拿到包含查询字符串的完整当前URL,直接用Request.Url相关属性就可以,非常简单:

// 两种写法效果一致,任选其一
string fullUrl = Request.Url.ToString();
// 或者
string fullUrl = Request.Url.AbsoluteUri;

执行后会返回类似 https://mysite.com/folder1/car.aspx?car_id=1&region=3 的完整地址,包含协议、域名、路径和查询字符串。

2. 获取页面文件名+查询字符串(如car.aspx?car_id=1&region=3)

如果只需要文件名+查询字符串这部分,有两种可靠的实现方式:

方式一:利用URL Segments(无需额外命名空间)

通过Request.Url.Segments获取URL的分段,取最后一段就是文件名,再拼接查询字符串:

// 获取URL最后一段(即页面文件名,如car.aspx)
string fileName = Request.Url.Segments.Last();
// 获取完整查询字符串(包含开头的?,如?car_id=1&region=3)
string queryString = Request.Url.Query;
// 拼接得到目标结果
string targetResult = fileName + queryString;

方式二:用Path类提取文件名(需引入System.IO)

如果习惯用文件操作类来处理,也可以用Path.GetFileName提取文件名,再拼接查询串,同时处理无查询串的情况:

// 记得先引入命名空间
using System.IO;

string fileName = Path.GetFileName(Request.FilePath);
string queryString = Request.QueryString.ToString();
// 避免没有查询串时多出一个?
string targetResult = fileName + (string.IsNullOrEmpty(queryString) ? "" : "?" + queryString);

两种方式都能得到你需要的 car.aspx?car_id=1&region=3 格式的字符串,根据自己的编码习惯选择就行。

内容的提问来源于stack exchange,提问作者Pham X. Bach

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 07:32:54