加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

Asp.net – 空QueryString参数

发布时间:2020-12-15 18:52:30 所属栏目:asp.Net 来源:网络整理
导读:问题 什么是正确的方法检查foo参数在以下url的querystring使用asp.net?这是可能吗? http://example.com?bar=3foo 我试过检查Request [“foo”]以及Request.QueryString [“foo”],我得到null两者。我也尝试用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为空查询字符串参数。

[编辑]

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

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

解决方法

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

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

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

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

更新:

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读