新闻中心
.NET怎么获取一个URL的查询字符串参数_URL查询参数获取技巧
使用 HttpUtility.ParseQueryString 可在任意 .NET 项目中解析 URL 查询参数,适用于控制台应用;2. ASP.NET Core 中推荐使用 HttpContext.Request.Query 获取 IQueryCollection,支持大小写不敏感和多值参数;3. 无 System.Web 依赖时可手动拆分查询字符串并解码;4. .NET Core 推荐使用 QueryHelpers.ParseQuery 进行安全解析与构建,避免编码问题;根据项目类型选择合适方法,注意处理 URL 编码与多值情况。

在 .NET 中获取 URL 的查询字符串参数非常简单,主要依赖于 Uri 和 NameValueCollection 类型,尤其是在 ASP.NET 或 ASP.NET Core 环境中。下面介绍几种常用且实用的方法,适用于控制台程序、Web API、MVC 或 Blazor 等场景。
1. 使用 HttpUtility.ParseQueryString(通用方法)
这个方法适用于任何 .NET 项目,包括控制台应用。你可以通过 System.Web 命名空间中的 HttpUtility.ParseQueryString 来解析 URL 查询参数。
示例代码:
using System; using System.Collections.Specialized; using System.Web; string url = "https://example.com/search?keyword=dotnet&page=2&sort=asc"; Uri uri = new Uri(url); NameValueCollection queryParameters = HttpUtility.ParseQueryString(uri.Query); string keyword = queryParameters["keyword"]; // 结果: "dotnet" string page = queryParameters["page"]; // 结果: "2" string sort = queryParameters["sort"]; // 结果: "asc"
说明:uri.Query 返回的是以 ? 开头的查询部分(如 "?keyword=dotnet&page=2"),ParseQueryString 会自动去掉 ? 并解析成键值对。
2. 在 ASP.NET Core 中使用 HttpContext.Request.Query
在控制器或 Razor 页面中,可以直接访问请求上下文中的 Query 属性,它返回一个 IQueryCollection,使用起来更直观。
示例代码:
[HttpGet]
public IActionResult Search()
{
string keyword = Request.Query["keyword"];
string page = Request.Query["page"];
// 多值参数支持(如 tags=a&tags=b)
var tags = Request.Query["tags"]; // 返回字符串集合
return Ok(new { keyword, page, tags });
}
注意:Request.Query 是大小写不敏感的,推荐使用标准命名方式传参。
3. 手动解析(无依赖场景)
如果你不能引用 System.Web(比如在 .NET Core 控制台程序中),可以手动拆分查询字符串。
刺鸟创客
一款专业高效稳定的AI内容创作平台
110
查看详情
示例代码:
string query = "keyword=dotnet&page=2&sort=asc";
var parameters = new Dictionary<string, string>();
foreach (var part in query.Split('&', StringSplitOptions.RemoveEmptyEntries))
{
var keyValue = part.Split('=', 2);
if (keyValue.Length == 2)
{
string key = Uri.UnescapeDataString(keyValue[0]);
string value = Uri.UnescapeDataString(keyValue[1]);
parameters[key] = value;
}
}
这种方法虽然原始,但在轻量级工具类中很实用。
4. 使用 QueryHelpers(推荐用于 .NET Core)
.NET Core 提供了 Microsoft.AspNetCore.WebUtilities.QueryHelpers,适合构建和解析查询字符串。
示
例:解析查询字符串
using Microsoft.AspNetCore.WebUtilities;
var uri = new Uri("https://example.com?name=john&age=30");
var query = QueryHelpers.ParseQuery(uri.Query);
string name = query["name"]; // "john"
int age = int.Parse(query["age"]); // 30
优势:QueryHelpers 还支持安全地添加查询参数,避免编码问题。
基本上就这些常用的技巧。根据你的项目类型选择合适的方式:Web 项目优先用 Request.Query 或 QueryHelpers,非 Web 项目可用 HttpUtility 或手动解析。关键是处理好 URL 编码和多值参数的情况。不复杂但容易忽略细节。
以上就是.NET怎么获取一个URL的查询字符串参数_URL查询参数获取技巧的详细内容,更多请关注其它相关文章!
# 是在
# 大丰区seo优化项目
# 深圳建设网站培训
# 基金推广营销
# 谷歌网站如何优化
# 刷手机关键词网站排名
# 建材网站建设北路
# 番禺网站seo优化
# 沈阳网站优化有用吗
# 永济网页seo
# 天津视频营销推广平台
# 相关文章
# 但在
# 你可以
# url
# 文档
# 如果你
# 转换为
# 键值
# 适用于
# 推荐使用
# .net
# 键值对
# microsoft
# 工具
# 编码
# word
# 查询字符串
相关栏目:
【
科技资讯46185 】
【
网络学院92790 】
相关推荐:
composer的"require-dev"部分是用来做什么的?
百度浏览器字体显示异常偏小_百度浏览器字体渲染修复方案
如何解决电商平台定制报价请求的“黑洞”问题,SprykerQuoteRequest模块助你提升客户体验与销售效率
Python中如何避免重复条件判断:利用数据结构实现动态逻辑
漫蛙2网页版漫画入口 漫蛙漫画在线官方登录
邮政快递单号查询入口 邮政快递物流信息在线查询入口
狙击外星人小游戏开始_狙击外星人小游戏立即开始
如何创建独立于主系统的J*a运行环境_隔离式环境搭建策略
windows10怎么查看硬盘序列号_windows10硬盘id查询命令
Log4j Console Appender性能瓶颈与高并发优化策略
Angular Material 垂直步进器:实现底部到顶部排序的教程
Shopware订单对象中获取产品自定义字段的正确方法
b站怎么删除评论_b站评论管理与删除操作
在WordPress中通过REST API获取BasicAuth保护的远程文章
Win10自动更新怎么关闭 Win10永久关闭系统更新的两种方法【终极版】
夸克浏览器网页版最新地址 夸克浏览器官方入口合集
C++ vector二维数组定义_C++ vector of vector用法
C++如何进行游戏物理模拟_使用Box2D库为C++游戏添加2D物理效果
Python中高效且防溢出的双曲正弦计算:基于对数空间的优化策略
汽水音乐车机版8.9下载 汽水音乐车机版8.9版本安装入口
汽水音乐在线版入口_汽水音乐网页播放手册
PyTorch模型训练准确率不提升:诊断与修复常见指标计算错误
TikTok评论显示延迟如何处理 TikTok评论刷新优化方法
Web Components中自定义开关组件状态同步的常见陷阱与解决方案
Django模型中自动计算可用余额的实现方法
yandex入口引擎手机版 yandex安卓版下载入口
MAC如何将整个网页截长图_MAC使用Safari的导出为PDF或第三方工具
三星ZFold5多任务卡顿_Samsung ZFold5流畅度提升
Golang切片为何属于引用类型_Golang slice底层结构与引用语义说明
漫蛙漫画网页端入口 漫蛙2官方正版漫画站点
mc.js免安装版 mc.js一键畅玩入口
如何在低配置电脑上搭建轻量级J*a环境_占用更小的环境选择技巧
千牛数据看板网页版_千牛数据看板网页版访问方法
Win11蓝牙耳机断连怎么解决 Win11蓝牙设置重新配对与驱动更新【技巧】
必由学官方平台入口 必由学在线课堂登录地址
我的世界官方游戏入口 我的世界官网平台直达链接
Safari怎么安装扩展程序 浏览器插件安装与管理方法【详解】
composer 和 npm/yarn 在管理依赖方面有什么核心思想差异?
美团外卖商家服务中心入口 美团商家版官网入口
Python中高效访问嵌套字典与列表中的键值对
漫蛙网页登录入口 漫蛙漫画官方授权网址
UE5.7引擎表现爆炸优化无敌!5090跑4K稳定60FPS
腾讯视频怎么举报不良内容_腾讯视频内容举报流程与违规信息处理方法
一加 14R 快充无反应_一加 14R 充电优化
windows10怎么查看本机ip_windows10命令提示符ipconfig使用
铃兰之剑为这和平的世界希里技能组及加点推荐
Go RPC HTTP服务正确实现与常见陷阱解析
曝R星经典之作开发图 设计简陋但信息密集!
Django表单验证失败时保留用户输入数据的最佳实践
2026春节假期时间安排 2026春节假日查询


2025-11-06
浏览次数:次
返回列表