Asp.net – 空QueryString参数

问题

什么是正确的方法检查foo参数在以下url的querystring使用asp.net?这是可能吗?

http://example.com?bar=3&foo

我试过检查Request [“foo”]以及Request.QueryString [“foo”],我得到null两者。我也尝试用QueryString集合中的值填充列表,但正如我在下面提到的,它不包括该值。

问题

我明白,没有价值,但应该不Request [“foo”]返回一个空字符串,而不是null?有没有办法找出一个querystring键是否存在,即使它没有值吗?

笔记

我发现here,Request.QueryString.AllKeys包括null为空查询字符串参数。

[编辑]

如下面的JamesDreas所述,解析原始url的正则表达式可能是最好的(也许只有)方法

Regex.IsMatch(Request.RawUrl,"[?&]thumb([&=]|$)")

解决方法

您可以使用null作为NameValueCollection的键,它将给您一个没有值的参数名称的逗号分隔列表。

对于http://example.com?bar=3\u0026amp;foo你会使用Request.QueryString [null],它会检索foo。

如果有多个参数名称没有值,它将给你一个以逗号分隔的值。

对于http://example.com?bar=3\u0026amp;foo\u0026amp;test,您会得到foo,测试为一个值。

更新:

你实际上可以使用Request.QueryString.GetValues(null)来获取没有值的参数名称

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....